Top 13 패킷 보내기 The 80 Detailed Answer

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 패킷 보내기 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.maxfit.vn team, along with other related topics such as: 패킷 보내기 패킷 전송 프로그램, 패킷 흐름도, TCP 패킷 전송 프로그램, TCP 데이터 전송 과정, TCP 패킷 순서 보장, 데이터 전송 원리, 패킷 통신, 네트워크 데이터 전송 방식


인터넷은 어떻게 작동될까요?
인터넷은 어떻게 작동될까요?


TCP 패킷 보내기 :: Info-Security

  • Article author: wchul0307.tistory.com
  • Reviews from users: 12792 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about TCP 패킷 보내기 :: Info-Security TCP패킷 보내기. 마지막으로 TCP패킷을 작성하여 보내보는 실습을 진행했다. 이 실습을 진행하기 위해 필요한 프로그램. 1. tcp.py – udp 클래스 정의. …
  • Most searched keywords: Whether you are looking for TCP 패킷 보내기 :: Info-Security TCP패킷 보내기. 마지막으로 TCP패킷을 작성하여 보내보는 실습을 진행했다. 이 실습을 진행하기 위해 필요한 프로그램. 1. tcp.py – udp 클래스 정의. TCP패킷 보내기 마지막으로 TCP패킷을 작성하여 보내보는 실습을 진행했다. 이 실습을 진행하기 위해 필요한 프로그램 1. tcp.py – udp 클래스 정의 2. tcpping.py – tcp패킷을 조합하여 타겟에 보낼수 있는 프로..
  • Table of Contents:
TCP 패킷 보내기 :: Info-Security
TCP 패킷 보내기 :: Info-Security

Read More

네트워크 프로그래밍-TCP/IP 패킷 전송

  • Article author: developer-wh.tistory.com
  • Reviews from users: 35079 ⭐ Ratings
  • Top rated: 4.6 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 네트워크 프로그래밍-TCP/IP 패킷 전송 네트워크 프로그래밍-TCP/IP 패킷 전송. 개발자_WH 2022. 1. 28. 16:25. 320×100. 반응형. 안녕하세요. WH입니다. 알아야 할게 너무나도 많죠? …
  • Most searched keywords: Whether you are looking for 네트워크 프로그래밍-TCP/IP 패킷 전송 네트워크 프로그래밍-TCP/IP 패킷 전송. 개발자_WH 2022. 1. 28. 16:25. 320×100. 반응형. 안녕하세요. WH입니다. 알아야 할게 너무나도 많죠? 안녕하세요. WH입니다. 알아야 할게 너무나도 많죠? 사실 아키텍처나, 운영체제 관련해서도 다루고 싶긴한데.. 솔직히 뭐부터 다뤄야할지 감이 안오네요. 뭐 다루다보면 언젠가는 다 다루지 않겠어요? 뭐 이렇게..
  • Table of Contents:

소켓

패킷

3 Way Handshake

4 Way Handshake

태그

‘임베디드 리눅스’ Related Articles

네트워크 프로그래밍-TCP/IP 패킷 전송
네트워크 프로그래밍-TCP/IP 패킷 전송

Read More

[보안] 패킷 전송 개념 및 방법

  • Article author: wooono.tistory.com
  • Reviews from users: 31494 ⭐ Ratings
  • Top rated: 3.7 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [보안] 패킷 전송 개념 및 방법 패킷은 Client PC에서 생성된다. 이 때, 인터넷 프로토콜에서는 항상 목적지 IP 주소와 라우팅 테이블을 이용해; 어떻게 패킷을 전달할 것인지 결정해야 … …
  • Most searched keywords: Whether you are looking for [보안] 패킷 전송 개념 및 방법 패킷은 Client PC에서 생성된다. 이 때, 인터넷 프로토콜에서는 항상 목적지 IP 주소와 라우팅 테이블을 이용해; 어떻게 패킷을 전달할 것인지 결정해야 … 패킷 패킷이 LAN과 WAN에서 어떻게 전달되는지 설명하지 못하는 경우가 많다. 이 과정을 이해하면 네트워크 보안의 많은 부분을 이해할 수 있다. 컴퓨터 네트워크에서 패킷은 어떻게 전달되는지 그림을 통해 살펴..
  • Table of Contents:

우노

[보안] 패킷 전송 개념 및 방법 본문

티스토리툴바

[보안] 패킷 전송 개념 및 방법
[보안] 패킷 전송 개념 및 방법

Read More

[Network] TCP/IP 모델 패킷 전송 과정 :: Icarus

  • Article author: icarus8050.tistory.com
  • Reviews from users: 13506 ⭐ Ratings
  • Top rated: 4.8 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about [Network] TCP/IP 모델 패킷 전송 과정 :: Icarus 패킷의 구조. 송신. 송신자가 수신자에게 전송하는 데이터는 상위 계층부터 하위 계층까지 거쳐가며 각 … …
  • Most searched keywords: Whether you are looking for [Network] TCP/IP 모델 패킷 전송 과정 :: Icarus 패킷의 구조. 송신. 송신자가 수신자에게 전송하는 데이터는 상위 계층부터 하위 계층까지 거쳐가며 각 … TCP/IP 모델  네트워크 통신을 위한 과정을 분류하는 모델로 OSI 7 계층이라는 표준이 존재합니다. 그리고 우리가 HTTP 통신을 하기 위해 주로 사용하는 TCP/IP 프로토콜을 OSI 7 계층에 맞추어 추상화한 것이..e-mail :[email protected]

    Github :https://github.com/icarus8050

    Blog (이전 블로그) :https://blog.naver.com/icarus8050

  • Table of Contents:

TCPIP 모델

패킷의 구조

3-Way Handshake 와 4-Way Handshake

클라이언트와 서버의 통신

참고자료

관련글 관련글 더보기

인기포스트

티스토리툴바

[Network] TCP/IP 모델 패킷 전송 과정 :: Icarus
[Network] TCP/IP 모델 패킷 전송 과정 :: Icarus

Read More

IP Packet 보내기 (ICMP)

  • Article author: haenis.tistory.com
  • Reviews from users: 32655 ⭐ Ratings
  • Top rated: 3.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about IP Packet 보내기 (ICMP) IP Packet 보내기 (ICMP). HNNN 2017. 12. 25. 03:06. >> 이너뎃(Ethernet) 헤더 + 아이피(IP) 헤더 사용. Ethernet 헤더 : 같은 네트워크 상에서 Mac 주소를 이용한 … …
  • Most searched keywords: Whether you are looking for IP Packet 보내기 (ICMP) IP Packet 보내기 (ICMP). HNNN 2017. 12. 25. 03:06. >> 이너뎃(Ethernet) 헤더 + 아이피(IP) 헤더 사용. Ethernet 헤더 : 같은 네트워크 상에서 Mac 주소를 이용한 … >> 이너뎃(Ethernet) 헤더 + 아이피(IP) 헤더 사용 Ethernet 헤더 : 같은 네트워크 상에서 Mac 주소를 이용한 통신 IP 헤더 : 다른 네트워크 상에 있는 호스트와 ip주소를 사용하여 통신 1. ip packet 을 통해서..
  • Table of Contents:
IP Packet 보내기 (ICMP)
IP Packet 보내기 (ICMP)

Read More

쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식

  • Article author: better-together.tistory.com
  • Reviews from users: 46345 ⭐ Ratings
  • Top rated: 4.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식 패킷 전송 방식의 패킷은 데이터를 효율적으로 전송하기 위해 데이터를 작은 조각으로 분할하고 분할된 조각에 헤더를 붙여 캡슐화 데이터를 의미합니다. …
  • Most searched keywords: Whether you are looking for 쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식 패킷 전송 방식의 패킷은 데이터를 효율적으로 전송하기 위해 데이터를 작은 조각으로 분할하고 분할된 조각에 헤더를 붙여 캡슐화 데이터를 의미합니다. 패킷 교환 방식으로 데이터를 전송하는 인터넷 TCP/IP 모델의 핵심인 IP 프로토콜과 TCP 프로토콜은 전 세계에 존재하는 수만 가지의 LAN을 연결하여 인터넷을 구축하고 데이터를 전송하기 위한 규칙입니다. 전..
  • Table of Contents:

태그

‘냐옹아 멍멍해봐(How to Speak IT)테크(IT) 문법’ Related Articles

티스토리툴바

쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식
쉽게 이해하는 네트워크 11. 인터넷의 TCP/IP 프로토콜과 패킷 교환 방식

Read More

패킷 전송 원리::::IT Story of Giner-Prince

  • Article author: dongwook8467.tistory.com
  • Reviews from users: 3376 ⭐ Ratings
  • Top rated: 4.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 패킷 전송 원리::::IT Story of Giner-Prince 송신을 하면서 헤더 또는 트레일러 형태로 제어정보가 덧붙여져서 패킷이 생성된다. 이 패킷이 수신측에 도착하면 이더넷/IP/TCP계층을 지나면서 헤더 … …
  • Most searched keywords: Whether you are looking for 패킷 전송 원리::::IT Story of Giner-Prince 송신을 하면서 헤더 또는 트레일러 형태로 제어정보가 덧붙여져서 패킷이 생성된다. 이 패킷이 수신측에 도착하면 이더넷/IP/TCP계층을 지나면서 헤더 … TCP / IP 구조 데이터 전송 원리 Application에서 보내는 데이터를 목적지까지 전송하기 위해서는 각각의 프로토콜에서 정의한 제어 정보(IP 주소, 포트 번호, 오류체크번호)가 필요하다. 제어정보는 앞쪽에 붙는..tistory skin
  • Table of Contents:

패킷 전송 원리

티스토리툴바

 패킷 전송 원리::::IT Story of Giner-Prince
패킷 전송 원리::::IT Story of Giner-Prince

Read More

알쓸신컴 <아무말 보안 대잔치> : 네이버 블로그

  • Article author: blog.naver.com
  • Reviews from users: 15042 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 알쓸신컴 <아무말 보안 대잔치> : 네이버 블로그 무슨 말이냐하면 정확하게 굳이 따지자면 3계층에서는 IP 패킷으로 사용 … 데이터 전송 단위 의미로 [Data Packet = Frame = Header + Payload … …
  • Most searched keywords: Whether you are looking for 알쓸신컴 <아무말 보안 대잔치> : 네이버 블로그 무슨 말이냐하면 정확하게 굳이 따지자면 3계층에서는 IP 패킷으로 사용 … 데이터 전송 단위 의미로 [Data Packet = Frame = Header + Payload …
  • Table of Contents:
알쓸신컴 <아무말 보안 대잔치> : 네이버 블로그” style=”width:100%”><figcaption>알쓸신컴 <아무말 보안 대잔치> : 네이버 블로그</figcaption></figure>
<p style=Read More

라우터가 패킷을 전송하는 방법 –
Oracle® Solaris 11.2의 네트워크 배치 계획

  • Article author: docs.oracle.com
  • Reviews from users: 19301 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 라우터가 패킷을 전송하는 방법 –
    Oracle® Solaris 11.2의 네트워크 배치 계획 라우터는 다음과 같은 방식으로 패킷을 전송합니다. IP 네트워크의 모든 노드가 경로 지정 테이블에 경로 지정 정보를 유지 관리합니다. 이러한 테이블에는 로컬 및 … …
  • Most searched keywords: Whether you are looking for 라우터가 패킷을 전송하는 방법 –
    Oracle® Solaris 11.2의 네트워크 배치 계획 라우터는 다음과 같은 방식으로 패킷을 전송합니다. IP 네트워크의 모든 노드가 경로 지정 테이블에 경로 지정 정보를 유지 관리합니다. 이러한 테이블에는 로컬 및 … 계획 , 네트워크 배치, 구성, 요구 사항, 작업, IPv4, IPv6, 주소 선택, 서브넷, 하드웨어 선택, 이름 지정 서비스, 라우터 구성, 네트워크 토폴로지라우터는 다음과 같은 방식으로 패킷을 전송합니다. IP 네트워크의 모든 노드가 경로 지정 테이블에 경로 지정 정보를 유지 관리합니다. 이러한 테이블에는 로컬 및 원격 네트워크 둘 다에 연결된 시스템에 접근하는 방법에 대한 정보가 들어 있습니다. 경로 지정 테이블은 로컬 구성 정보 및 이웃…
  • Table of Contents:
라우터가 패킷을 전송하는 방법 - 
Oracle® Solaris 11.2의 네트워크 배치 계획
라우터가 패킷을 전송하는 방법 –
Oracle® Solaris 11.2의 네트워크 배치 계획

Read More

네트워크 패킷 규칙 만들기 및 편집

  • Article author: support.kaspersky.com
  • Reviews from users: 31498 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 네트워크 패킷 규칙 만들기 및 편집 네트워크 패킷 규칙을 생성할 때 네트워크 패킷 규칙이 애플리케이션 네트워크 규칙보다 우선 순위가 높다는 점을 기억하십시오. 네트워크 패킷 규칙을 만들거나 편집 … …
  • Most searched keywords: Whether you are looking for 네트워크 패킷 규칙 만들기 및 편집 네트워크 패킷 규칙을 생성할 때 네트워크 패킷 규칙이 애플리케이션 네트워크 규칙보다 우선 순위가 높다는 점을 기억하십시오. 네트워크 패킷 규칙을 만들거나 편집 …
  • Table of Contents:
 네트워크 패킷 규칙 만들기 및 편집
네트워크 패킷 규칙 만들기 및 편집

Read More


See more articles in the same category here: https://toplist.maxfit.vn/blog/.

TCP 패킷 보내기

TCP패킷 보내기

마지막으로 TCP패킷을 작성하여 보내보는 실습을 진행했다.

이 실습을 진행하기 위해 필요한 프로그램

1. tcp.py – udp 클래스 정의

2. tcpping.py – tcp패킷을 조합하여 타겟에 보낼수 있는 프로그램(connect모듈이용)

3. raw_topclient – tcp패킷을 조합하여 타겟에 보낼수 있는 프로그램 flag값을 일일이 작성

4. sniffer.py – 내가 보낸 패킷과 상대방의 응답 패킷을 확인 할 수 있는 프로그램

5. tcpEchoServer – 예전에 사용했던 서버(상대방의 패킷에 응답할 수 있도록 켜둔다)

TCP는 UDP와 달리 TCP flag를 이용한 3way Hand-shake라는 방식을 사용하여 연결을하고 통신을 한다.

TCP flag 순서(총 8비트)

사용안함 사용안함 URG ACK PSH RST SYN FIN

flag를 보는 방법은 이렇게 되는데 이번 실습에서는 URG를 제외한 나머지 비트를 사용한다.

실습진행

스니퍼를 켠 상태에서 tcpping.py를 통해 연결 과정을 본다.

위의 사진을 보면 SYN(나) – SYN/ACK – ACK(나) – ACK/PSH(나) – ACK – ACK/RST 순대로 진행이 된다.

먼저 내쪽에서 SYN패킷을 보내 연결 요청을 하고 그에대한 응답(SYN/ACK)가 오고 내쪽에서 ACK패킷을 보내면 연결이 된다.

연결이 된 직후 ACK/PSH를 통해 데이터를 보내고 그에대한 응답(ACK)가 오고 원래대로라면 RST패킷이 아닌 FIN/ACK패킷이 와야하지만 상대쪽에서 iptables에 RST패킷이 나가지 않게 하는 규칙을 적용하지 않아

RST패킷이 오게 되었다.

이제 connect를 이용하지 않고 하나하나 작성하여 보내보는 실습을 진행 해보았다.

먼저 iptable에 RST패킷이 나가지 않도록 하는 규칙을 부여한다.

* iptables -A OUTPUT -p tcp –tcp-flags RST RST -j DROP

부여된건 list로 확인이 가능하다.

프로그램은 완성형 밖에 없지만 먼저 연결까지만 확인해보면

이렇게 확인이 가능하고

데이터를 보내는 PSH까지는

이렇게 확인이 가능하다.

이제 연결을 끊는 순서인데 연결을 끊는것은 두가지가 있다.

상대쪽 서버가 먼저 FIN요청을 하는경우와 Client(내쪽)에서 FIN요청을 하는 경우인데

상대쪽 서버가 먼저 FIN요청을 하는경우 :

서버를 켤때 -i옵션을 쓰지않으면 바로 ack,fin이 날라오게되고

ack(나) – ack,fin(나) – ack 순대로 주고 받은 뒤 Time_wait 상태가 된다.

Client(내쪽)가 먼저 FIN요청을 하는 경우:

서버를 켤때 -i옵션을 주고 켜게되면 서버가 종료를 하지 않는 상태가 되기때문에 ack,psh까지만 오게된다.

fin,ack(나) – ack – fin,ack – ack(나) 순서대로 주고받은 뒤 Time_wait 상태가 된다.

내쪽에서 FIN요청을 하는 경우만 진행해 보았다.

네트워크 프로그래밍-TCP/IP 패킷 전송

728×90

반응형

안녕하세요. WH입니다.

알아야 할게 너무나도 많죠?

사실 아키텍처나, 운영체제 관련해서도 다루고 싶긴한데..

솔직히 뭐부터 다뤄야할지 감이 안오네요.

뭐 다루다보면 언젠가는 다 다루지 않겠어요?

뭐 이렇게 이것저것 다루냐고요?

bsp가 원래 그래요. 저 아래서부터 다루다보니..여튼 잡소리 그만하고 시작할게요

전반적인 지식은 이전 두개의 글에서 다뤘습니다. 기억이 나지 않는다구요?

아래 두개의 글을 참조해주세요

2022.01.28 – [임베디드 리눅스] – 네트워크 프로그래밍 – 인터넷 프로토콜 스택 4계층

2022.01.28 – [임베디드 리눅스] – 네트워크 프로그래밍 – OSI 7계층

간단히 review를 하고 넘어가자면, 네트워크 통신을 하기 위한 과정을 분류하는 모델로 OSI 7계층 표준이 있으며, HTTP 통신을 하기 위해 주소 사용하는 TCP/IP 프로토콜을 OSI 7계층에 맞춰 추상화 한 그림이 TCP/IP 모델인데요.

1. Application Layer

HTTP, FTP, SMTP 등 응용프로그램들이 네트워크를 사용하기 위한 인터페이스를 제공

2. Transport Layer

통신 노드 간의 연결을 제어하고, 유실된 패킷을 재전송하는 등 신뢰성 있는 통신을 보장

3. Internet Layer

패킷을 발신지로부터 목적지로 전달하는 역할

4. Network Interface Layer

물리적인 주소로 MAC을 사용하여 프레임 데이터를 전달

보다 자세한 내용은 위의 두 글을 참조해주세요. 이것으로 review는 마치고 본론으로 들어가면

Application layer와 Transport layer 사이에는 소켓이라는 것이 존재합니다. 소켓에 대해 먼저 알아보겠습니다.

소켓

네트워크 ( 전송 계층 ) 에서 프로세스 ( 어플리케이션 ) 로 혹은 프로세스에서 네트워크로 데이터를 전달하는 출입구

이 말을 조금 자세히 들여다보면 호스트 ( 수신 측 )의 transport layer 는 데이터를 직접 전달하지 않는다는 말이에요. 호스트( 수신 측 )에 하나 이상의 소켓이 있을 수 있기 때문에, 소켓은 유일한 식별자를 가지며 이 식별자는 TCP 소켓 혹은 UDT 소켓에 따라 달라지죠.

패킷

패킷이란 Internet Layer 에서 데이터 단위를 가리킵니다. 조금더 자세히 알아볼까요?

저번 글에서 다뤘던 7 가지 내용을 이미지화 한 그림입니다. 조금 더 자세히 들여다 보겠습니다.

데이터가 어떻게 전달되고 어떻게 받아들여지는지 송신과 수신으로 나누어 알아보도록 하겠습니다.

송신

데이터를 전송하기 위해서는 데이터의 상위 계층부터 하위 계층까지 거쳐가며 각 계층의 프로토콜 정보와 관련된 헤더를 씌웁니다.

1. Application Layer

app header 에는 실제 데이터를 어플리케이션 계층에 넘기며, 데이터를 인코딩하고 수신자와의 통신할 준비 위한 내용이 포함됩니다. 즉, 해당 헤더에는 어플리케이션 계층의 port 정보, 표현 계층의 데이터 준비 과정, 세션 계층의 통신 준비 과정이 포함되겠지요.

2. Transport Layer

그 다음 TCP 헤더가 붙는 데요. 데이터 크기가 크면 MTU ( Maximum transmission unit, 해당 레이어가 전송할 수 있는 최대 프로토콜 데이터 단위의 바이트를 의미함 ) 단위로 쪼개는 데, 이를 세그먼트라 합니다. 세그먼트를 송신할 때마다 쪼개진 데이터의 순서를 알 수 있도록 Sequence 번호가 기록되는 데 이유는 네트워킹 상황에 따라 데이터의 순서가 바뀔 수 있고 이를 방지하기 위함입니다. 물론 누락 여부 역시 판단할 수 있게 되겠지요.

3. Internet Layer

세그먼트에 IP 헤더를 붙인답니다. 왜냐구요? 목적지를 알아야하잖아요

4. Network Interface Layer

패킷에 Ethernet 헤더와 Tail( FCS : Frame Check Sequence )가 덧붙는데요. 헤더 정보에는 송신자와 수신자의 MAC ( Media Acess Control ) 주소가 담겨있고, 데이터 전송 중 에러를 판별하는 FCS가 포함되어 있으며, 해당 계층에서 데이터 단위를 프레임이라고 합니다.

수신

송신자 측으로부터 받은 프레임은, 하위 계층에서 상위 계층으로 올라가며 헤더를 없애가며 데이터를 받습니다.

1. Network Interface layer

Ethernet 헤더에는 MAC 주소가 담겨있다고 했지요? 도착지 MAC 주소가 자신의 주소와 일치하는지 비교하고, 일치하면 상위 계층으로 보내게 됩니다.

2. Internet Layer

IP 헤더를 검사하는데 목적지 IP 주소 값이 자신의 IP 주소와 일치하는지 비교하고, 일치하면 상위 계층으로 보내게 됩니다.

3. Transport Layer

TCP 헤더의 Sequence 번호를 검사하여 데이터들이 누락되지 않았는지 확인하고, 데이터들이 모두 수신되면 조립합니다.

4. Application Layer

데이터를 디코딩하여 사용자에게 넘깁니다.

이렇게 송/수신 과정에 대해서 알아보았는데요. 다음으로는 3 Way Handshake에 대해서 알아보도록 하겠습니다.

3 Way Handshake

TCP 연결은 3 way Handshake를 통해 서로 3번의 통신이 이루어 지는데요. 같이 알아보도록할게요

1. 클라이언트가 SYN(a) 패킷을 보내고, 응답을 기다리는 SYN_SENT 상태로 전환

2. 서버가 요청을 수락하면 SYN(b)와 ACK( a + 1 )이 담긴 패킷을 보내고, SYN_RECEIVED 상태로 전환

3. 클라이언트는 서버로부터 SYN(b) 와 ACK( a + 1) 패킷을 받고, ACK( b + 1 )를 서버로 보내며 연결이 성립되며 두 호스트는 ESTABLISHED 상태로 전환

이후 서로 필요한 데이터를 주고 받게 됩니다. 그 다음로 알아볼 내용은 4 way Handshake 에 대해 알아보도록 하죠.

4 Way Handshake

TCP 연결 해제는 4 Way Hnadshake를 통해 연결이 해제되는데요. 내용은 아래와 같습니다.

1. 클라이언트는 연결을 종료하겠다는 FIN 플래그를 보냄

2. 서버는 응답 메세지로 ACK를 보내고 자신의 데이터를 모두 보낼 때까지 CLOSE_WAIT 상태로 전환

3. 서버가 데이터를 모두 보내고 통신이 끝났다면 연결이 종료되었다는 FIN 플래그를 클라이언트에게 보냄

4. 클라이언트는 FIN 메시지를 확인했다는 ACK를 보내고 연결을 종료

728×90

반응형

[보안] 패킷 전송 개념 및 방법

위 그림은 인터넷을 극단적으로 간단하게 그린 것이다.

먼저 간단한 구조로 인터넷을 이해해보자

ipconfig 명령을 통해 컴퓨터의 ip 주소를 확인할 수 있다.

이를 통해 패킷이 어떻게 전달되는지를 알아볼 것이다.

라우팅 테이블은 네트워크 대상, 네트워크 마스트, 게이트웨이, 인터페이스, 메트릭으로 구성 돼 있다.

위 그림의 IPv4 경로테이블이 바로 라우팅 테이블이다.

r은 라우팅 테이블을 의미하고, n은 숫자로 보여짐을 의미한다.

Window의 PowerShell에서 라우팅 테이블을 보기 위한 명령어는 netstat -rn 이다.

사용할 라우팅 테이블 규칙을 골랐다면, 이제 Gateway 주소로 패킷을 보내야한다.

다음 그림은 동일한 LAN 안에서 Client(PC0),Server(PC1)의 위치와 Client(PC0)의 라우팅 테이블을 정리한 표이다.

자 이제 동일한 LAN에서 Client(PC0)와 Server(PC1)가 통신할 때, 통신이 어떻게 전달되는지에 대해서 알아 볼 것이다.

위의 예제는, 클라이언트와 서버가 같은 LAN에 있을 때의 패킷이 전달되는 예제였다.

이제 패킷이 동일한 LAN 구간을 벗어난 곳으로 전달 돼야 할 때는, 어떤식으로 전송되는지 알아보자.

위 그림에서 Client(PC0)는 왼쪽 LAN이고, Server(PC3)는 오른쪽 LAN이다.

아래 표는 Client의 라우팅 테이블이며, 알고리즘은 동일하다.

우선 클라이언트는 본인의 라우팅 테이블을 보게 된다.

라우팅 테이블에서 몇 번째 규칙을 사용할건지는, longest prefix matching 알고리즘을 사용하게 된다. 목적지 ip 주소는 192.168.162.230 이므로

첫번째 규칙의 Netmask부터 목적지 ip 주소(192.168.162.230)와 bitwise AND 연산해 NetworkDestination과 비교한다.

그럼 결국 7번 규칙을 따르게 된다. 7번 규칙의 Netmask(0.0.0.0)와 목적지 ip 주소(192.168.162.230)의 bitwise AND 연산 결과는, 목적지 IP 주소와 상관없이 무조건 0.0.0.0 이다. 따라서, Network Destination과 동일하게 된다. 이를, default Gateway라고 부른다. 7번 규칙의 Gateway 주소는 192.168.161.1이다. Client가 속해있는 LAN의 기기들중 하나의 주소인걸 확인할 수 있다.

라우팅 테이블 중 7번 규칙을 정했으니, 이제 클라이언트는 Gateway 주소로 보낼 패킷을 만들어야한다. 클라이언트는 S MAC, S IP, D IP를 다 알고 있지만, 정작 D MAC은 모르고 있다.

Gateway IP 주소에 해당하는 장비의 Mac 주소를 알아야 이더넷 패킷을 만들 수 있다.

따라서, 다른 WAN으로 패킷을 보내기 전에 Client에서 모뎀에 패킷을 먼저 보낸다.

클라이언트는 ARP request/reply를 통해 Gateway의 D Mac 주소를 알아온 뒤 전송한다. 그럼 패킷은 통신장비까지는 전달이 된다.

그럼 이제 왼쪽 라우터는 해당 패킷을 어디로 전달할까?

원리는 동일하다. 라우터는 본인의 라우팅 테이블을 확인한다.

또 다시 longest prefix matching을 통해 규칙을 정한다.

결정된 규칙의 Gateway에 해당하는 Mac 주소를 알아내 패킷을 만든 뒤, 전송한다.

So you have finished reading the 패킷 보내기 topic article, if you find this article useful, please share it. Thank you very much. See more: 패킷 전송 프로그램, 패킷 흐름도, TCP 패킷 전송 프로그램, TCP 데이터 전송 과정, TCP 패킷 순서 보장, 데이터 전송 원리, 패킷 통신, 네트워크 데이터 전송 방식

Leave a Comment