컴퓨터 네트워크: Segment

2021. 9. 24. 03:25·Computer Science/컴퓨터 네트워크
목차
  1. TCP: Transmission Control Protocol
  2. 3. Segment

TCP: Transmission Control Protocol

 

3. Segment

 

TCP  segment format

 

TCP의 헤더 크기는 기본 20byte ~ 60byte이다.

헤더의 크기가 유동적이기 때문에 헤더 안에 어디까지가 헤더이고 어디부터 data인지 표시를 해주어야 한다. 즉, 헤더의 길이를 나타내 주어야 한다.

 

HLEN

  • 4bits 
  • 헤더의 길이를 나타낸다. 
  • 4bits로는 1111(2) 즉, 10진수로 15까지 표현할 수 있는데, 헤더의 길이는 최대 60byte까지 나타날 수 있기 때문에 이진수로 60을 나타내려면 111100(2) 총 6bits가 필요하다. 따라서 4bits로 60을 나타내기 위해 해당 수에 ÷4를 한다. 

ex1. HLEN = 60(10) = 111100(2), 

      111100(2) ÷ 4 = 15(10) = 1111 ☞ 15로 60을 표현할 수 있다. 

ex2. HLEN = 20(10) = 10100(2),

      10100(2) ÷ 4 = 5(10) = 0101 ☞ 5로 20을 표현할 수 있다. 

따라서 헤더의 길이가 20바이트라면 ÷4를 해서 5를 보내고, 60바이트라면 ÷4를 해서 15를 보낸다.

받는 쪽에서는 ×4를 해서 헤더의 길이를 인식한다. 

 

Checksum

  • 16bits
  • 데이터의 오류 체크
  • 헤더의 모든 내용 16bits씩 끊어와서 다 더함

 

Control field

  • 각 필드는 각각 1bit.
  • ACK: 1-번호를 보내니 반드시 보라고 상대에게 알려줌 / 0-상대는 헤더의 acknowledgment number 필드(16bits)에 쓰인 데이터를 쓰레기 취급함 
  • SYN: 연결 요청 패킷
  • FIN: 종료 요청 패킷

 

Pseudoheader added to the TCP segment

Pseudoheader

  • IP헤더로부터 Source IP주소, destination IP주소, 프로토콜 종류를 가져오고, TCP 헤더로부터 TCP 길이를 가져온다.
  • 확실한 체크 위해 해당 정보를 붙여서 checksum을 구한다. 만약 checksum을 통해 비트오류를 발견한다면 해당 패킷을 통째로 버린다.(어떤 비트가 오류인지 모름)
  • 전송 시에는 슈도헤더를 떼고 헤더만 보냄.

 

 

Example of checksum calculation at the sender

  • 32bits IP헤더의 데이터를 16bits씩 끊어와서 모두 더한 뒤에 보수를 취한 뒤 checksum field에 저장.
  • UDP의 checksum은 선택이지만 TCP의 checksum은 필수이다.

 

 

Encapsulation(캡슐화)

상위→하위로 가면서 포장에 싸이는 것

  • payload: 헤더 뗀 데이터 부분
  • IP payload: Datagram의 payload
  • Data-link lager payload: frame의 payload

 

 

 

 


자료 출처:

  • TCP/IP Protocol Suite 4th Edition Slide
    (Behrouz A. Forouzan 저, McGraw-Hill, 2010)
저작자표시 비영리 변경금지 (새창열림)

'Computer Science > 컴퓨터 네트워크' 카테고리의 다른 글

컴퓨터 네트워크: Windows in TCP  (0) 2021.10.01
컴퓨터 네트워크: State transition diagram  (0) 2021.10.01
컴퓨터 네트워크: A TCP Connection  (0) 2021.09.24
컴퓨터 네트워크: TCP Services, TCP Features  (0) 2021.09.09
컴퓨터 네트워크: Addressing  (0) 2021.09.09
컴퓨터 네트워크: OSI 7-Layer Model (OSI 7 계층 모델)  (0) 2021.09.02
  1. TCP: Transmission Control Protocol
  2. 3. Segment
'Computer Science/컴퓨터 네트워크' 카테고리의 다른 글
  • 컴퓨터 네트워크: State transition diagram
  • 컴퓨터 네트워크: A TCP Connection
  • 컴퓨터 네트워크: TCP Services, TCP Features
  • 컴퓨터 네트워크: Addressing
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    리액트
    mysql
    파이썬
    공식문서
    Til
    Next.js
    알고리즘
    구현
    클론 프로젝트
    SWEA
    bfs
    플러터
    프로그래머스
    백준
    포트폴리오
    자바
    프로젝트
    spring boot
    Jiraynor Programming
    뉴렉처
    React
    AWS
    d3
    강의내용정리
    컴퓨터네트워크
    ZeroCho
    타입스크립트
    블로그 제작
    자바스크립트
    웹사이트
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
컴퓨터 네트워크: Segment

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.