네트워크 7,8,9장 UDP, TCP 프로토콜

No.8·2023년 3월 5일
0

Network

목록 보기
11/14

4계층 프로토콜

4계층에서 하는 일(전송계층)

  • 전송 계층은 송신자의프로세스와 수신자의 프로세스를 연결하는 통신 서비스를 제공한다

  • 전송 계층은 연결 지향 데이터 스트림 지원 , 신뢰성, 흐름제어, 다중화와 같은 편리한 서비스를 제공한다

4계층 프로토콜의 종류

  1. UDP 프로토콜 : 비연결지향 (DNS 서버) - 속도측면 장점
  2. TCP 프로토콜 : 연결지향

포트번호

포트번호의 특징

  • 특정 프로세스와 특정 프로세스가 통신하기 위해 사용
  • 하나의 포트는 하나의 프로세스만 사용 가능

Well-Known 포트

UDP 프로토콜

UDP가 하는일

  • 사용자 데이터그램 프로토콜(User Datagram Protocol)

  • 신뢰성이 낮다

  • 오류의 검사와 수정이 필요없는 프로그램에서 수행할 것을 가정

  • length는 UDP 프로토콜의 헤더 길이 + 뒤의 페이로드 길이
  • DNS 서버, 라우터 RIP프로토콜에서 사용

TCP 프로토콜

TCP가 하는 일

  • 전송제어 프로토콜(Transmission Control Protocol)
  • 프로그램 간에 통신을 안정적으로, 순수대로, 에러없이 교환할 수 있게 한다
  • UCP보다 느리지만 안정적

  • 일반적 길이 20 바이트 최대 60바이트 가능
  • window : TCP 버퍼 정보를 알려주는 부분 - 내 TCP 버퍼가 요정도 남았으니 이정도 더 받을 수 있다를 알려줌

TCP FLAG

U A P R S F
1. Urgent : 긴급bit - Urgent Pointer와 함꼐 쓰임 - 어디서부터 Urgent인지 알려주는 위치값
2. Ack : 승인bit - 요청에 대한 응답을 할때 쓰이는 플래그
3. Push : 밀어넣기bit - TCP 버퍼 상관없이 그냥 data 밀어넣을 때 사용
4. Reset : 초기화bit - 둘 사이의 연결 상태를 초기화할 떄 사용
5. Syn : 동기화bit - 상대방과 연결을 시작할 때 사용(요청)
6. Fin : 열결 해제bit - 열결을 끊을 때 사용하는 플래그

TCP 통신과정

3way handshake

  1. 클라이언트 요청 ( syn )
    • Sequence Number: 임의 값 넣어 전달
    • Ack : 0 전달
  2. 서버 응답, 요청 ( syn+ ack )
    • Sequence Number: 임의값 넣어 전달
    • Ack : 클라이언트가 넘긴 시퀀스 넘버 + 1 해서 동기화
  3. 클라이언트 응답 ( ack )
    • Sequence Number: 서버의 응답값(Ack)을 동일하게 넣음
    • Ack : 서버의 시퀀스 넘버 + 1 하여 동기화
  • 3 way handshake 이후 클라이언트가 요청 시작

  • 시퀀스 넘버 101, data 크기가 100이라면 응답을 주는 서버의 Ack는 둘을 더해 동기화
profile
88888888

0개의 댓글