Network 해봐~

Layer 4 Transport(전송 계층)[Protocol(TCP), 장비]

Alias._.B 2023. 10. 4.

Protocol: UDP, TCP

   • TCP(Transmission Control Protocol) > 안정성 중시

      ⸰ 목적: 데이터 전달의 신뢰성 보장

      ⸰ 특징

            ‣ 연결 지향성 > 3 way Handshake

                - 데이터를 전달할 논리적인 연결을 먼저 구성

                - 연결설정 > 데이터 전송 > 연결 종료

            ‣ 신뢰성: 순차적으로 데이터를 전송 > 확인 / 응답, 재전송, 순서번호

            ‣ 흐름제어: 데이터 전달에 지연 현상이 발생했을 데이터의 양을 조절 > Sliding Window

      ⸰ Service: 파일 전송: FTP / Web 서비스: HTTP

TCP 상태 천이 다이어그램

      ⸰ 3 way Handshake

3 way Handshake

            ‣ TCP 통신 시 신뢰성 및 연결 지향성 보장을 위한 기법

            ‣ TCP segment 전달 전 목적지와의 통신상태 확인

            ‣ 정상 통신 가능 > 논리적 양방향 연결 > Segment 전송

      ⸰ 확인 / 응답

            ‣ 일반 확인 응답: Segment : ACK = 1 : 1, 주로 사용

            ‣ 누적 확인 응답: Segment : ACK = N : 1, 문제점: 응답을 못받게 되면 누적된 데이터 전부를 재전송해야함

            ‣ 선택적 확인 응답: Segment : ACK = N : 1, 누적 확인 응답의 문제점을 해결하기 위함

 

   • TCP Header(20bytes~60bytes)

TCP Header 구조

 

0~4bytes Field(주소 정보)

      ⸰ Source Port Address(2bytes): 출발지 Port 주소

      ⸰ Destination Port Address(2bytes): 목적지 Port 주소

 

5~12bytes Field(순서 정보) > 신뢰성

      ⸰ Sequence Number(4bytes)

            ‣ 순서화된 일련번호

            ‣ 초기순서번호는 임의의 값으로 설정(ISN, Initial Sequence Number)

            ‣ 전송되는 데이터의 크기를 누적시키며 순서를 알려줌

      ⸰ Acknowledgement Number(4bytes)

            ‣ 확인 응답 번호

            ‣ 다음 수신할 Sequence Number 알려줌

                - 받은 Sequence Number +Payload 크기

                - 최초 SYN 대한 응답: 수신한 Sequence Number +1

 

13~16bytes Field

      ⸰ HLEN(4bits): TCP Header 길이, 4bytes 단위로 표시

      ⸰ Reserved(4bits): 예약된 Field

      TCP Flags(1byte) > 연결지향성 + 확인 / 응답

            ‣ 논리적인 TCP 연결회선 제어 데이터 관리를 위해 사용

            ‣ TCP 메시지의 종류 명시

                - URG(Urgent): 긴급데이터

                - ACK(Acknowledgement): 확인 응답

                - PSH(Push): 삽입

                - RST(Reset): 연결 재설정(강제종료)

                - SYN(Synchronization): 연결 요청

                - FIN(Finish): 연결 종료

      ⸰ Window(2bytes) > 흐름제어

            ‣ 통신 상대방에게 자신의 버퍼 여유용량 크기를 지속적으로 알려줌

            ‣ Sliding Window  기법 사용

 

17bytes~Valiable Field(추가정보)

      ⸰ Checksum(2bytes)

            ‣ 4계층 Segment 전체와 3계층 정보 일부분에 대한 오류검사

            ‣ Pseudo Header 구성하여 오류 검출 수행

      ⸰ Urgent Pointer(2bytes): 긴급 데이터의 위치를 나타내는

      ⸰ TCP Options(4bytes): 종류(1byte) + 길이(1byte) + Option Data

 

   • Pseudo Header(12bytes)

Pseudo Header

      ⸰ Layer4 오류검출용

      ⸰ 보안, 기능성이 떨어지는 IP 오류검출을 함께 수행

      ⸰ IP 일정 정보를 포함한 헤더를 생성한  TCP/UCP Segment Encapsulation  오류검출 수행

      ⸰ 초기상태의 Checksum = 0

      ⸰ 오류검출 값을 획득한  Pseudo Header 삭제 > 실제 통신  Segment 전달

      ⸰ 작동방식

Psuedo Header 작동방식

장비

   • L4 Switch > 부하 분산, QoS(Quality of Service)

      ⸰ TCP/UDP Port번호를 이용하여 트래픽을 서비스 별로 분류하여 포워딩하는 장비

      ⸰ 주요 기능: Load Balancing

      ⸰ Load Balancing: 부하 분산, 특정 시스템이 받게 되는 부하를 동일 기능 수행이 가능한 여러 시스템으로 분산

댓글