728x90
반응형

Network 34

[Network] TCP header 형식

- TCP header 형식 Source Port (16 bits): 송신자의 포트 번호를 나타냅니다. Destination Port (16 bits): 수신자의 포트 번호를 나타냅니다. Sequence Number (32 bits): 데이터 바이트의 순차 번호입니다. 데이터 전송의 순서와 완성성을 보장하기 위해 사용됩니다. Acknowledgment Number (32 bits): 확인 응답 번호로, 수신자가 다음에 받고자 하는 데이터의 첫 번째 바이트의 순차 번호를 나타냅니다. Data Offset (4 bits): TCP 헤더의 길이를 32-bit 워드 단위로 나타냅니다. TCP 헤더 이후에 있는 옵션 필드의 길이를 나타냅니다. Reserved (6 bits): 예약된 비트 필드입니다. 현재는 0으..

[Network] TCP와 UDP

- TCP(Transmission Control Protocol) Virtual cercuit이라고도 함.(TCP의 연결 지향성과 패킷 전송 과정에서 연결성과 순차성을 제공하며 가상적인 회선을 구축하기 때문) 연결 지향적인 프로토콜로, 신뢰성과 정확성을 중요시합니다. 데이터 전송 과정에서 패킷의 손실, 손상 또는 순서 변경을 최소화합니다. 핸드쉐이크를 통해 연결 설정과 해제를 수행하며, 데이터 전송 후 연결을 정리합니다. 순차적인 데이터 전송을 보장하고, 데이터의 오류 검출 및 복구를 위해 확인 응답과 재전송을 수행합니다.(TCP는 상대가 못 받을 상황이면 보내지 않는다.) 대부분의 웹 브라우징, 이메일, 파일 전송, 원격 접속 등에 사용됩니다. 전송단위는 segment - UDP(User Datagra..

[Network] Ping, RTT, ICMP

- Ping 간단히 얘기하자면, Ping은 ICMP 프로토콜을 이용하여 특정 Host에 대한 RTT(Round Trip Time)을 측정할 목적으로 사용되는 프로그램입니다. 일반적으로 컴퓨터 운영 체제(예: Windows, macOS, Linux)에서 제공되며, 명령 프롬프트 또는 터미널 창에서 실행할 수 있습니다. "ping" 명령어는 ICMP(Internet Control Message Protocol)을 사용하여 작동합니다. 송신 호스트는 ICMP Echo Request 메시지를 목적지 호스트로 보내고, 목적지 호스트는 ICMP Echo Reply 메시지로 응답합니다. 이 과정에서 송신 호스트는 응답 시간, 패킷 손실 여부 등을 측정하여 네트워크 상태를 평가할 수 있습니다. "ping" 명령어는 일..

[Network] ARP(Address Resolution Protocol)

- ARP ARP는 주소 해결 프로토콜(Address Resolution Protocol)의 약어입니다. ARP는 IP 주소를 해당하는 MAC 주소로 매핑하는 프로토콜(IP주소로 MAC주소를 알아내려 할 때 활용됩니다)로, 이더넷 네트워크에서 사용됩니다. ARP는 로컬 네트워크 내에서 동작하며, 호스트가 다른 호스트의 IP 주소를 알고 있을 때 해당 IP 주소에 대한 MAC 주소를 알아내는 데 사용됩니다. ARP는 다음과 같은 주요 기능을 수행합니다: IP 주소와 MAC 주소의 매핑: ARP는 IP 주소를 해당하는 MAC 주소로 매핑하는 역할을 합니다. 호스트가 특정 IP 주소로 패킷을 전송하려고 할 때, 목적지 호스트의 MAC 주소를 알아야 합니다. ARP는 이러한 매핑 정보를 제공하여 패킷을 올바른 ..

[Network] Host 자신을 가리키는 IP주소(Loopback address)

- Loopback address Loopback 주소는 네트워크 통신에서 사용되는 특수한 IP 주소입니다. 이 주소는 데이터가 송수신되지 않고 로컬 장치에만 루프백되도록 지정됩니다. 즉, 네트워크 인터페이스로 보낸 데이터가 다시 동일한 장치로 돌아오는 것입니다. Loopback 주소는 대개 "127.0.0.1"로 표시되며 IPv6에서는 "::1"로 표시됩니다. 이 주소는 호스트 장치 내부에서 자체적인 통신을 테스트하고 디버그하는 데 사용됩니다. 즉, 네트워크가 아닌 로컬 환경에서 작동하는 응용 프로그램의 테스트에 유용합니다. Loopback 주소를 사용하면 로컬 호스트에서 실행 중인 서비스에 대한 네트워크 연결을 시뮬레이션할 수 있습니다. 예를 들어, 웹 서버가 로컬에서 실행 중이고 브라우저에서 "

[Network] Broadcast IP주소

- Broadcast IP주소 브로드캐스트 IP 주소는 네트워크 상의 모든 호스트에게 동시에 메시지를 전송하기 위해 사용되는 특수한 IP 주소입니다. 브로드캐스트 IP 주소는 특정 네트워크 주소에서 호스트 식별자를 모두 1로 설정한 형태로 구성됩니다. IPv4에서 브로드캐스트 IP 주소는 다음과 같은 형태를 가지고 있습니다: A 클래스 네트워크: 첫 번째 옥텟이 네트워크 식별자인 경우, 호스트 식별자를 모두 1로 설정하여 브로드캐스트 주소를 생성합니다. 예를 들어, 10.255.255.255는 10.0.0.0/8 네트워크의 브로드캐스트 IP 주소입니다. B 클래스 네트워크: 첫 번째 두 옥텟이 네트워크 식별자인 경우, 마지막 두 옥텟을 모두 1로 설정하여 브로드캐스트 주소를 생성합니다. 예를 들어, 17..

[Network] Subnet Mask 와 CIDR

- Subnet Mask IP 주소를 네트워크 부분과 호스트 부분으로 분리하는 데 사용되는 값입니다. 서브넷 마스크는 IP 주소의 이진 비트 패턴으로 표현되며, IP 주소와 비트 단위로 AND 연산을 수행하여 네트워크 주소를 결정합니다. IPv4 주소는 32비트로 구성되며, 서브넷 마스크는 이 32비트 중 네트워크 부분과 호스트 부분을 나누는 역할을 합니다. 서브넷 마스크는 주로 "x.x.x.x" 형식으로 표기되며, 네트워크 부분은 "1"로 호스트 부분은 "0"으로 표시됩니다. 네트워크 부분의 길이는 서브넷 마스크에서 "1"의 개수로 표현됩니다. 서브넷 마스크를 적용하면 IP 주소를 네트워크 ID와 호스트 ID로 분리할 수 있습니다. 네트워크 ID는 해당 네트워크를 고유하게 식별하는 값이며, 호스트 ID..

[Network] IPv4 Header 형식

- Version IP 프로토콜의 버전을 나타냅니다. 4bit로 표현되며, IPv4d에서는 값을 4를 가집니다. - IHL "Internet Header Length" IPv4 헤더의 길이를 32비트 word(4bit) 단위로 표현한 값입니다. 최소값은 5이고 최댓값은 15입니다. 이는 최소 20바이트(5 * 4 byte)부터 최대 60바이트(15 * 4 byte)까지의 헤더 크기를 나타낸 것입니다. IPv4 헤더의 고정된 크기는 20byte이며 추가적인 옵션 필드가 포함될 경우 헤드의 길이가 더 커질 수 있습니다. - TOS "Type of Service" 패킷의 서비스 품질(Quality of Service)요구 사항과 우선순위를 나타내는데 사용됩니다. TOS 필드는 8비트로 표현되며, 다양한 비트 ..

[Network] Socket과 Stream

- Socket 네트워크 상에서 프로세스 간 통신을 위한 엔드포인트 호스트의 IP 주소와 포트 번호로 식별 클라이언트와 서버 간의 양방향 통신 가능 네트워크 계층과 전송 계층 사이에서 동작하며, TCP/IP 모델에서는 전송 계층의 역할을 수행 일반적으로 클라이언트 소켓과 서버 소켓으로 나뉨 클라이언트 소켓은 서버에 연결을 요청 서버 소켓은 클라이언트의 연결 요청을 수락 - Stream 데이터의 연속적인 흐름을 의미(단위 X) 데이터를 작은 조각이 아니라 일련의 바이트로 처리하는 방식 입력 스트림과 출력 스트림으로 나뉘며, 데이터를 읽고 쓰는 데 사용 입력 스트림은 데이터의 흐름이 application으로 들어오는 것을 나타냄 ex. 파일에서 데이터를 읽거나 네트워크를 통해 데이터를 수신하는 경우, 입력 ..

[Network] Broadcast와 Unicast, Frame과 Packet

- Broadcast 방송 주소(broadcast address)는 TCP/IP 네트워크에서 사용되는 주소(MAC, IP 모두 존재)입니다. 이 주소는 네트워크 상의 모든 호스트에게 메시지를 전송하는데 사용됩니다. 방송 주소는 특수한 주소로, 일반적으로 네트워크의 IP 주소에서 호스트 부분을 모두 1로 설정하여 표시됩니다. 예를 들어, 만약 IP 주소가 192.168.0.0/24 서브넷으로 설정되어 있다면, 이 서브넷의 방송 주소는 192.168.0.255가 됩니다. 이 주소로 전송된 패킷은 해당 서브넷 내의 모든 호스트에게 전송됩니다. ex) 1100000.10101000.00000000.00001010 -> 파란색 부분은 Network ID(택배를 모으는 물류센터구조. 일단 우리집으로 올 수 있는 근..

728x90
반응형