개인 공부/네트워크

[Chapter 03-2] 주소정보의 표현

Koalitsiya 2023. 7. 20. 10:58

주소표현을 위한 구조체

 

struct sockaddr {
	sa_family_t 	sin_family;		//주소체계(Adress Family)
    char 			sa_data[14];	//주소정보
};

sockaddr 구조체

  • 주소 표현을 위한 구조체
  • 주소체계, PORT번호, IP주소정보를 담기엔 다소 불편함

 

struct sockaddr_in {
    sa_familty_t 	sin_family;		//주소체계(Adress Family)
    uint16_t 		sin_port;		//16비트 TCP/UDP PORT번호
    struct in_addr	sin_addr;		//32비트 IP주소
    char 			sin_zero[8];	//사용되지 않음
}

sockaddr_in 구조체

  • IPv4 기반의 주소 표현을 위한 구조체
  • sockaddr의 불편함 때문에 등장
  • sin_zero는 sockaddr과 크기를 일치시키기 위해 사용
struct in_addr{
    in_addr_t	    s_addr;	//32비트 IPv4 인터넷 주소
};

in_addr 구조체

  • 32비트 IP주소정보를 담는데 사용