Địa chỉ này đợc khai báo là những bản ghi và đợc dùng làm tham số cho những lệnh hệ thống và thủ tục truy nhập socket. Địa chỉ local là địa chỉ để xác định socket trong nội bộ máy.
Cấu trúc địa chỉ cục bộ đợc mô tả nh sau
Address family Address bytes 0-1 Address bytes 2-5
Address bytes 6-9 Address bytes 10-13 struct sock_addr
{
u_short sa_family; /* address family */
char sa_data[14]; /* up to 14 bytes address */ };
Trờng address family sẽ quyết định cấu trúc địa chỉ của trờng Address bytes phía sau vì socket hỗ trợ cho nhiều giao thức khác nhau nên ứng với mỗi giao thức trờng địa chỉ sẽ có cấu trúc khác nhau.
Protocol family Description
PF_UNSPEC Unspecified family
PF_UNIX UNIX domain
PF_INET Internet protocols PF_IMPLINK Arpanet IMP address
PF_PUP Old Xerox protocols
PF_CHAOS M.I.T. CHAOS protocols
PF_NS Xerox Network system protocols
PF_NBS NBS protocols
PF_ECMA European Computer Manual PF_DATAKIT DATAKIT protocols
PF_CCITT CCITT protocols
PF_SNA IBM System Network Architeture PF_DECnet DECnet protocols
PF_DLI DEC direct data link interface PF_LAT LAN terminal interface
PF_HYLINK NSC Hyperchannel PF_APPLETALK Apple Talk protocols PF_NIT Network interface tap
PF_802 IEEE 802.2
PF_OSI OSI protocols
PF_X25 CCITT X.25
PF_OSINET OSI protocols
PF_GOSIP U.S.government OSI protocols
Protocol Families
Địa chỉ TCP/IP đợc khai báo với tên sockaddr_in. Nó chứa số hiệu port và địa chỉ IP 32-bit.
Address family Protocol port IP Address
Unused (0) Unused (0) struct in_addr /* 32-bit IP Addresss */ {
u_long s_addr; /* network byte order */ };
struct sockaddr_in {
short sin_family; /* = AF_INET */ 60
u_short sin_port; /* 16-bit port number */ struct in_addr sin_addr; /* 32-bit IP Addresss */ char sa_zero[14]; /*unused*/
};
Một số lời gọi tạo lập socket