Địa chỉ Socket

Một phần của tài liệu Kiến trúc mạng căn bản potx (Trang 61 - 63)

I. Giao diện lập trình

I.3.2. Địa chỉ Socket

Có hai loại địa chỉ được gán với một socket: Địa chỉ local và địa chỉ TCP/IP. Đị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 */

u_short sin_port; /* 16-bit port number */ struct in_addr sin_addr; /* 32-bit IP Addresss */ char sa_zero[14]; /*unused*/

};

Một phần của tài liệu Kiến trúc mạng căn bản potx (Trang 61 - 63)

Tải bản đầy đủ (PDF)

(101 trang)