기본 콘텐츠로 건너뛰기

라벨이 Network인 게시물 표시

인터넷 계층의 주요 프로토콜

IP(Internet Protocol) 전송할 데이터에 주소를 지정하고, 경로를 설정하는 기능을 한다. 비연결형인 데이터그램 방식을 사용하는 것으로 신뢰성이 보장되지 않는다 ICMP(Internet Contorl Message Protocol) IP와 조합하여 통신중에 발생하는 오류의 처리와 전송 경로 변경등을 위한 제어 메시지를 관리하는 역할 ARP(Adress Resolution Protocol) 호스트의 IP 주소를 호스트와 연결된 네트워크 접속 장치의 물리적 주소(MAC Address) RARP(Reverse Address Resolution Protocol) ARP와 반대로 물리적 주소를 IP 주소로 변환하는 기능을 함

MAC address, IP address

MAC Address MAC 주소는 일반적으로 제조업체의 등록된 식별 번호로 인코딩되며 이를 BIA(burned-in address)로 부를 수 있다. 또, 이더넷 하드웨어 주소(Ethernet hardware address, EHA), 하드웨어 주소, 물리 주소(메모리 물리 주소와 다름)로 부르기도 한다 IP Address 인터넷상에서 라우팅을 효율적으로 하기 위하여 물리적인 네트웍 주소와 일치하는 개념으로 부여된 32 비트의 주소가 IP 주소 IP Address가 MAC address에 비해 가지는 장점 같은 네트워크 상에 있는지 그렇지 않은지 판단가능 mac address는 물리연결만 가능하게 하지만 ip address는 Host or Network interface Identification and Location addressing을 지원한다. 라우터는 어떻게 IP주소를 보고 MAC주소를 찾아낼 것인가? 바로 ARP(Address Resoulation Protocol)이다. ARP는 IP주소를 가지고 MAC주소를 찾아가는 프로토콜이다.

Flow control, congestion control

Flow control TCP의 수신버퍼의 오버플로우를 방지 TCP는 상대 TCP에게 rwnd값(수신할 수 있는 data byte용량)을 알려줌 각 TCP 연결당 독립적으로 관리 Congestion Control 네트워크의 혼잡을 감지 네트워크는 명시적으로 feedback을 제공해주지 않음 => 종단 TCP가 네트워크 혼잡을 추정 혼잡의 징후 => Lost packet(라우터에서 buffer overflow 일어났다고 추정), Long delays(queuing in router buffers) cwnd(congestion window size)를 사용하여 transmission rate을 제한 => 연결하나당 독립적으로 존재, 혼잡이 일어나지 않는 최대 보낼수 있는 크기

3-way handshaking, 4-way handshaking

TCP 3-way-handshaking 은 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다. (연결설정) Client > Server : TCP SYN Server > Client : TCP SYN ACK Client > Server : TCP ACK (연결종료) Client > Server : TCP FIN Server > Client : TCP FIN ACK Client > Server : TCP ACK TCP 4-way-handshaking은 연결을 종료할때 connections을 독립적으로 닫도록 허용한다. [STEP 1] 클라이언트가 연결을 종료하겠다는 FIN플래그를 전송한다. [STEP 2] 서버는 일단 확인메시지를 보내고 자신의 통신이 끝날때까지 기다리는데 이 상태가 TIME_WAIT상태다. [STEP 3] 서버가 통신이 끝났으면 연결이 종료되었다고 클라이언트에게 FIN플래그를 전송한다. [STEP 4] 클라이언트는 확인했다는 메시지를 보낸다 출처: http://mindnet.tistory.com/entry/네트워크-쉽게-이해하기-22편-TCP-3-WayHandshake-4-WayHandshake [Mind Net]

TCP/UDP

UDP 비연결형 서비스 각 datagram을 독립적으로 처리 segment들이 손실되거나 무작위로 배달될수 있음 순서를 고려하지 않는 서비스 비신뢰적 오류복구X, 오류검출은 O 흐름제어X(상대방 UDP의 수신 buffer 용량을 고려X) 데이터 순서 보장X 중복에 대한 보호 application layer에서 신뢰성 추가 오버헤드가 적다 Multicasting and broadcasting application에 사용 TCP 연결지향적(connection oriented)  연결설정, 연결유지, 연결종료를 제공 신뢰적인 data 전송 Error control, flow control, congestion control 제공 하나의 process 사이에서만 사용가능 multicast 지원X

OSI 7계층

OSI(Open System interconnection) Application : 받은 message 사용용도 결정 Presentation : 데이터 포맷과 코딩방식 결정 Session : 종단간 data를 주고받는 방식 결정(상호교대, 일방적) Transport : 종단간 process 사이에서 신뢰성 있는 data 교환(end-to-end delivery)(ex. TCP,UDP) Network : logical addressing, 목적지까지 data를 전달하는 책임(ex. IP) Data link : physical addressing 담당, frame PDU 생성(hop-to-hop delivery) Physical : 하부 network 사이의 물리적연결