프로그래밍 농장

TCP / IP 프로토콜 [ Protocol Layering ] 본문

TCP-IP 프로토콜

TCP / IP 프로토콜 [ Protocol Layering ]

Tennessee201 2021. 4. 15.
728x90

 

Internet = network of network 

인터넷전까지의 네트워크는 소규모 혹은 지역별 등의 작은 네트워크의 형태로 존재하였다.

-> 인터넷이 나온후, 여러 network들을 통합하여, 여러 환경에 구애받지않고 통신이 가능하게됌. [ Inter - networking ]

 

- 프로토콜(Protocol) : 다른 Device들 간에도 정보를 주고받을수있도록 만든 규칙  = A type of regulation for communication procedures/processing

- packet switching : 상대방이 누군가와 통신하고있는지, 가용하고있는지의 여부를 따지지않고 Data 전송하는 형태

- Circuit switching : 상대방이 나와 통신을 할수있는지 경로를 열어놓고 Access 요구 -> 동의시 Data 전송하는 형태 

 

Protocol Layering : Incapsulation  / decapsulation 

-> Protocol Layering의 필요성?  ( = Protocol Stack )   

  < OSI Layer >

Application Layer[응용계층] -> 여러가지 app이 사용되는 parameter . .등을 정의 ( = API )

     -> Telnet(텔넷) / FTP / SMTP / HTTP 프로토콜 O

Presentation Layer[표현계층] -> Application 위에 올라가는 type ,표기법 등등이 올라가는 형식을 정의 ( 압축방식 , 정의, 등 )

     -> JPEG / MPEG / ASCII / JPG / GIF 프로토콜 O

Session Layer[세션계층] -> tcp 프로토콜에 이미 대부분 존재 ( Transport Layer 가 대부분 병합하였다고 판단 . . )  |  신뢰성있는 session connection을 열고 닫는 역할 

     -> SSH / TLS 프로토콜 O

Transport Layer[표현계층] -> 신뢰성(reliable)을 제공한다. -> error report 및 에러 수정이 가능 process-to-process message delivery and error recovery : 내 메세지가 정상적으로 전송되었다는것을 확인시켜줌 및 피드백받기 [신뢰성있는전송]

     -> TCP(연결지향성) / UDP(비연결지향성) 프로토콜 O

Network Layer[네트워크계층] -> To move packets from source to destination; to provide internetworking :목적지까지 패킷이 가야함 -> 목적지까지의 최종 주소지가 필요함 (IP 주소)+전달하는역할   |signal / 신호전송                              -> Internet Protocol 프로토콜 O

Data link Layer[데이터링크계층] -> hop-to-hop delivery  / hop간의 전송에서 잘받았는지를 체크하는 relibility를 제공하는 역할 ( MAC / LAN )       -> 프로토콜 X

Physical Layer[물리계층] -> 전송매체에서 디지털로 변환된 bit값을 전송하는 역할 ( 리피터 / 허브 )    -> 프로토콜 X

 

 


일상적인 생활에 빗댄 Layering의 필요성

 

Physical Layer ( 계층 1 = Layer 1 ) 물리계층

전송단위 : 신호 (signal)

역할  : 데이터링크 계층으로부터 한 단위의 데이터를 받아 통신 링크를 따라 전송될 수 있는 형태로 변환

       : 비트의 흐름을 전자기 또는 광 신호로 변환 

       : 매체를 통해 신호를 전송 

 

 Data link Layer ( 계층 2 = Layer 2 ) 데이터링크계층

전송단위 : 프레임(frame)

역할 : 이웃하고 있는 노드 간의 데이터 전송을 담당 (one hop 에서만 담당 / 두 node 사이의 전송을 담당 / hop by hop 형식으로 전송(= hop 단위로 전송) / 내가 보낸 frame은 next hop 까지만 유효함 그다음은 다른 frame이다. )

       : 헤더와 트레일러를 덧붙임 -> 한 hop을 지나면 헤더의 소스와 목적지 주소값이 바뀜 ( crc값도바뀜 ) 

      

Network Layer ( 계층 3 = Layer 3 ) 네트워크계층

전송단위 : 패킷 (Packet) / user datagram

역할 : 네트워크의 연결을 관리하고 유지하며 해제하는 기능

       : 논리적 링크 구성 ( 나의 ip 주소에 따른 logical connection identify 기능 수행 )

       : 경로배정 서비스 ( =라우팅 routing )

       : 스위칭 & 라우팅 ( switching & routing )

Network Layer의 전송방식은 one way-> through |  패킷일때는 -> 발생지주소와 목적지주소가 같다 

 

 

 

-> 전체 지도를 그리는게 라우팅 (routing) / 어디로 갈건지 결정하는게 포워딩 (forwarding) ( mac주소에 의해 )

     목적지를 결정하는 식별자 -> IP주소   |  LTE , WIFI , ETHERNET, 등등을 쓰든 전부 IP주소라는것을 동일하게 가짐 

 

Transport Layer ( 계층 4  = Layer 4 ) 전송계층

전송단위 : 세그먼트 ( segment )  ( user datagram X )

          IP PUBLIC 주소는 전세계 유일하다  | Logical address는 (private 192.168... = 사설주소 ) 는 동일함

     -> ex ) 아파트단지 1개의 경우 IP주소를 하나로만 사용함.

    -> NAT(Network Address Transration) -> IP가 너무 많으므로 ( 32 .. ) 이를 사설IP에서는 묶어서 하나로만 사용  <  주소크기의 제약을 해결 >

 

Session Layer( 계층 5  = Layer 5 )

      Session의 connect(연결)에 대한 설정 , 관리 , 해지 등을 관리함

     -> process간의 동기등을 맞춤. .

 

Presentation Layer( 계층 6  = Layer 6 )

    데이터 표현 방식을 바꾸는 기능을 수행 / control 기능 아예없음 

    Presentation 내의 정보는 metaData이다. 압축방식 : mp4 . . 

 

Application Layer( 계층 7  = Layer 7 )

전송단위 : 메세지 ( message )

  응용 프로세스에 맞는 규칙, API 등을 정의하는 기능

  응용 프로세스가 네트워크 환경에 접근하는 수단을 제공한다

  응용 프로세스들이 상호간에 유용한 정보 교환 가능 

Application Layer의 전송방식은 one way-> through

                          < TCP / IP Protocol > 로 넘어오면서 변환된 OSI Model >

-> 기능적인 면은 동일 but 5가지 계층으로 간소화 

 

 

728x90