네트워크통신 33

Sequence Number 와 Acknowledgment Number

TCP 통신 3-way handshake에서 실제 데이터를 보내거나 상대방에게 받을 때는 TCP 헤더의 일련번호(Sequence Number)와 확인 응답 번호(Acknowledgment Number)가 사용된다. TCP는 데이터를 분할하여 보내는데, 이때 일련번호는 송신 측에서 수신측에 '이 데이터는 몇 번째 데이터이에요~'하고 알려주는 역할을 한다. 이를 통해 수신자는 받은 데이터가 원래 데이터의 몇 번째 데이터를 받았는지 알 수 있는 것이다.확인 응답 번호는 수신자가 다음에 받을 데이터의 순서를 송신측에 알려주는 역할을 한다. 위 그림의 데이터를 전송하기 전 단계에서 3-way handshake로 연결 수립이 이루어질 때, 이번 통신에 사용하는 일련번호인 '3001'번과  ❶ 호스트 A가 호스트 B..

공부/Network 2024.06.23

TCP 3-way 와 4-way Handshake

TCP는 신뢰성 있는 데이터 전송을 보장하기 위해 여러 기능들을 제공하는 전송 계층의 연결 지향적 포로토콜이다.  TCP를 통해 데이터를 주고 받기 위해서는 먼저 클라이언트와 서버간에 연결이 수립되어야 한다. (클라이언트-서버 간 통신에 자주 사용되는 HTTP도 TCP 기반으로 동작함.) 어떠한 과정을 통해 TCP 연결이 맺어지는지 살펴보자. 1. 3-way handshakeTCP 3-way handshake를 통해 클라이언트와 서버간의 연결(커넥션)이 성립되는 것이다. 안전한 통신을 위해 서로 얼마만큼의 데이터를 송수신 및 처리할 수 있는지 알아야해서 TCP 3-way handshake 과정 중 윈도우 크기(Window Size)와 최대 세그먼트의 크기(MMS, Maximum Segment Size)를..

공부/Network 2024.06.23

TCP 와 TCP 헤더

1. TCP(Transmission Control Protocol) | 전송제어 프로토콜인터넷 프로토콜 스위트( Internet Protocol Suite: 인터넷에서 컴퓨터들이 서로 정보를 주고 받을 때 쓰이는 통신규약[프로토콜]의 모음)의 핵심 프로토콜 중 하나로 인터넷과 네트워크 상에서 데이터를 신뢰성있게 전송하게 해준다. TCP 의 주요 기능: ❶ 연결 지향(Connection-oriented) 통신:TCP는 연결 지향형 프로토콜로, 통신을 시작하기 전에 송신자와 수신자 간에 세션을 설정해야 한다.연결 설정 과정은 3-way Handshake과정 을 통해 이루어짐.  ❷ 신뢰성있게 데이터 전달:TCP는 데이터가 손실되거나 중복되지 않도록 보장.데이터의 순서보장: 데이터의 각 세그먼트에는 시퀀스 번..

공부/Network 2024.06.22

전송 계층의 역할 / 연결형 통신 · 비연결형 통신

1. 전송 계층의 역할1계층인 물리 계층은 상위 계층에서 내려온 0과 1로 이뤄진 비트열 데이터를 신호(signal)로 변환하여 전송 매체를 통해 전달하는 역할을 가지며 2계층인 데이터 링크 계층은 같은 네트워크 안에서의 데이터 전송을, 네트워크 계층은 다른 네트워크로의 데이터를 전송하는 역할을 한다 하였다. 즉 이렇게 3계층이 있으면 목적지에 데이터를 보내는 것이 가능하다는 얘긴데, 문제는 이 계층들이 데이터의 손상이나 데이터의 유실에는 관여하지 않는다는 것이다.  목적지까지 신뢰할 수 있는 데이터를 전달하기 위해 바로 4계층인 전송 계층이 필요하다! 데이터 링크 계층에서도 오류 제어를 하기는 한다. 허나 데이터 링크 계층은 인접한 네트워크 장비간의, 즉 같은 네트워크 내에서 데이터 프레임을 전송할 때..

공부/Network 2024.06.21

라우터(Router)와 라우팅 테이블(Routing Table)

1. 라우터라우터는 서로 다른 네트워크를 연결해 주는 장치로 네트워크 간의 데이터 패킷을 전달하는 장치다.: 다른 네트워크와의 통신을 가능하게 해줄 뿐 아니라 네트워크를 분리할 수도 있게 해준다. : 이에 반해 데이터 링크 계층 (OSI 7계층 모델의 두 번째 계층)에서 작동하는 장치인 스위치(레이어2)만 있는 네트워크의 경우 모든 컴퓨터와 스위치가 동일한 네트워크에 속하게 된다. (허브도 스위치와 마찬가지로 네트워크를 분리할 수 없다.) 컴퓨터에서 다른 네트워크에 있는 컴퓨터로 데이터를 보내려면 기본 게이트웨이(default gateway)를 설정해야한다. 게이트웨이는 네트워크 경계를 넘어 서로 다른 네트워크 간의 데이터를 전달하는 장치 또는 소프트웨어를 말하며 여기선 예로 라우터가 게이트웨이의 역할을..

공부/Network 2024.06.06

서브넷(Subnet)과 서브넷 마스크

지난번에 IP 주소를 효율적으로 관리하기 위하여 IP 주소를 특정 범위로 나눈 클래스에 대해 얘기했었다. (IP 주소의 클래스(A,B,C 클래스)) 각 클래스는 서로 다른 크기의 네트워크를 지원하는데 예로, 호스트 ID가 총 24 비트라 대략 1677만 개의 호스트 ID를 사용할 수 있는 A 클래스 네트워크에 대해 이야기해보자. 만일 그 수 많은 컴퓨터가 브로드캐스트 패킷을 전송하게 된다면 모든 컴퓨터에 패킷이 전송되어 네트워크가 혼잡해질 것이다. 또한 만일 하나의 네트워크를 구성하는데 60대의 호스트가 들어간다면 어떤 클래스를 사용하는 것이 효율적일까? 호스트 ID의 개수가 1677만개인 A 클래스의 경우 약 1677만개의 IP 주소가, 호스트 ID의 개수가 65536개인 B 클래스의 경우 65476개..

공부/Network 2024.06.05

네트워크 주소와 브로드캐스트 주소

IP 주소에는 중요한 역할을 하는 네트워크 주소(Network Address)와 브로드캐스트 주소(Broadcast Address)가 있다. 이 두 주소는 특별한 목적으로 사용되서 컴퓨터나 라우터가 자신의 IP로 사용해선 안되는 주소다. 1. 네트워크 주소전체 네트워크의 대표 주소전체 네트워크에서 특정 네트워크를 식별하는 주소해당 네트워크에 속한 모든 호스트는 동일한 네트워크 주소를 공유한다.호스트 ID가 10진수로 0인 주소 위 그림과 같이 192.168.1.1 ~ 192.168.1.6의 IP 주소를 가진 컴퓨터는 192.168.1.0의 네트워크에 있다고 할 수 있다.  2. 브로드캐스트 주소네트워크 내의 모든 호스트에게 한 번에 패킷을 전송하는데 사용되는 전용 IP 주소즉 브로드캐스트 주소로 전송된 ..

공부/Network 2024.06.05

IP 주소의 클래스(A,B,C 클래스)

1. IP 주소 구조IP 주소(IPv4)는 총 32비트로 4개의 옥텟(8비트)으로 나눠 표시하며 사람이 읽기 쉽게 8비트를 10진수로 변환하여 표기한다. 이때 각 옥텟은 0 ~ 255 까지의 범위를 가진다.  IP 주소는 네트워크 ID와 호스트 ID로 구성되어 있다. 네트워크 ID(Network ID)IP 주소의 앞부분에 위치하며 네트워크를 식별한다.장치들의 IP 주소의 네트워크 ID가 같다는 건 모두 같은 네트워크에 속해 있다는 것 호스트 ID(Host ID):네트워크 IP뒤에 위치하며, 동일한 네트워크 내에서 특정 장치를 식별한다.따라서 네트워크 안에서 각 장치는 고유한 호스트 ID를 가져야 한다. IP 주소에 관한 추가 설명은 해당 글을 참고해 주세요. ( IP(Internet Protocol)와 ..

공부/Network 2024.06.04

공인 IP 주소와 사설 IP 주소

1. IP 주소IP 주소에는 공인 IP 주소와 사설 IP 주소가 있다. ❶ 공인 IP 주소공인 IP 주소(Public IP Address)는 인터넷 서비스 제공업체(ISP)가 사용자에게 할당하는 주소로, 전 세계적으로 고유하다. 인터넷 업체는 공인 IP 주소의 사용자가 누구인지를 파악할 수 있어서 공인 IP 주소를 사용하는 경우, 인터넷 활동이 추적되고 모니터링될 가능성이 존재한다. 또한 제삼자의 외부 IP 확인으로 인해 데이터와 인터넷 활동이 노출될 가능성도 높다. [ 공인 IP를 발급받아 우리가 인터넷을 사용하는 과정 ]전세계적으로 ICANN(국제인터넷주소관리기구)이라는 기관이 국가별로 사용할 IP 대역을 관리우리 나라가 사용할 수 있는 IP를 KISA(한국 인터넷 진흥원)이 받고 주소를 관리KISA..

공부/Network 2024.06.03

IP(Internet Protocol)와 IPv4, IPv6

1. IPIP는 Internet Protocol의 약자로, 네트워크 계층의 프로토콜로 네트워크에서 데이터를 전달하기 위한 규칙을 정의하는 프로토콜이다. IP를 통해 LAN내에서만이 아닌, 서로 다른 네트워크간의 데이터 송수신이 가능한 것이다.인터넷은 TCP/IP 프로토콜을 사용하는 장비들의 집합으로 구성되며, 다양한 인터넷 서비스(이메일, 웹 검색, 도메인 서비스 등)는 TCP와 IP를 기반으로 동작한다. (TCP는 데이터 전송의 신뢰성을 보장하고, IP는 데이터 패킷의 경로를 설정하고 전달) 네트워크 계층에서 캡슐화할 때 위 그림과 같이 데이터에 IP 헤더가 붙는다. 따라서 Data 필드를 제외한 나머지 필드들이 IP 헤더이며 이렇게 IP 헤더가 붙은 데이터를 IP 패킷(Packet)라 한다.Versi..

공부/Network 2024.06.01