728x90

호스트 6

Network] 네트워크 주소와 호스트 주소 변환 방법

Endianness 컴퓨터의 메모리에 여러 바이트로 구성된 데이터를 저장하는 방법Byte Order라고도 함컴퓨터의 바이트 순서는 프로세서 아키텍처에 의해 결정, 호스트 바이트 정렬이라고 부름 x86 : little-endian 네트워크 통신 중 이종 컴퓨터 사이의 바이트 정렬 문제를 해결하기 위해 빅 엔디안 방식의 네트워크 바이트 정렬 사용멀티 바이트 데이터 타입에서 중요함 바이트 정렬 함수 Linux / Unix u_short htons(u_short hostshort); // host to network shortu_long htonl(u_long hostlong); // host to network longu_short ntohs(u_short netshort); // network to host..

Network] TCP 상태 전이

TCP 상태 전이 연결 단계 : 3-way HandShaking 1. TCP는 종단 host 간의 논리적 접속을 설정하기 위해 3-way HandShaking 사용 Client->Server : TCP SYNClient->Server : TCP ACKServer->Client : TCP SYN ACK SYN : Synchornize Sequence NumbersACK : Acknowledgement 2. TCP 연결 과정을 상태 전이도 측면 #1 : Client는 Sserver에 접속 요청하는 SYN Packet을 보내고, Server의 응답을 기다리는 SYN_SENT 상태로 전이#2 : Server는 SYN 요청을 수신하고 Client에게 요청을 수락하는 ACK와 SYN 플래그가 설정된 Packet을 ..

Network] TCP 소켓 데이터 전송 특징

TCP 헤더(IPv4) 바이트 스트림을 Segment 단위로 나눔Segment : TCP를 이용하여 두 종단 호스트 간에 전달되는 데이터 단위 송신지 포트번호16bit수신지 포트 번호16bit순서번호(Sequence Number)32bit확인 응답 번호(Acknowledgement Number)32bit헤더 길이4bit예약6biturgackpshrstsynfinWindow16bit검사 합16bit긴급 포인터(Urgent Pointer)16bit옵션 & 패딩(Padding) 1. 송/수신지 포트 번호 16bitsegment 전송하는 host에 있는 응용프로그램의 포트 번호를 의미 2. 순서 번호(SEQ) 32bitsegment에 포함된 데이터의 첫 번째 바이트에 부여된 32비트 부호 없는 번호를 의미수신지..

Network] TCP 기반 클라이언트 프로그램 주요 함수

connect Function 서버와 통신을 위한 연결(세션)을 생성연결할 서버의 주소 정보를 설정해야 함 int connect(int sockfd, const struct sockaddr* addr, socklen_t addrlen);return 0(success), -1(fail) - sockfd : 서버에 연결 요청하기 위한 클라이언트 소켓 디스크립터- addr : 연결할 서버의 주소 정보가 설정된 구조체- addrlen : addr의 크기 read Function 전송된 메세지를 수신하기 위해 사용LINUX에서는 소켓이나 파일을 동일한 타입의 디스크립터로 정의하므로 데이터 수신할 때 사용 가능 ssize_t read(int fd, void* buf, size_t nbytes);성공 : 읽은 데이터..

Network] IPv4, IPv6

IPv4 32bit 주소체계Network ID와 Host ID로 구성.현재는 다양한 기기가 고유 주소가 필요하여 IPv6로 전환하고 있음Network ID와 Host ID에 할당되는 비트 길이에 따라 Class 구분(A, B, C, D, E; Class E는 예약되어 사용 불가)일부 IP 주소는 특수목적을 위해 예약되어 있음 - 서브넷 많은 기기를 연결할 수 있는 네트워크를 다수의 작은 네트워크로 분할일반적으로 Class A, B 네트워크 대상분리된 네트워크는 별도의 망이 되어 다른 곳에서 이용 가능 Network ID와 서브넷 번호에 해당하는 부분은 1로 마스크를 구성Host ID에 해당하는 부분은 0으로 구성 Internet Protocol Version 4를 선택해 설정 가능 IPv6 128bit ..

728x90