应用层application | 提供网络服务、用户验证身份——消息(message) |
表示层presentation |
数据表示:数据格式化、构建、加密、数据传输语法 格式化数据(ASCII码)——消息(message) |
会话层session |
主机间通信:建立、管理和终止应用程序间的会话。 ——消息(message) |
传输层transport |
数据传输的可靠性;虚拟电路;错误检测和恢复 信息流控制。(终端对终端)——数据段(segment) |
网络层network (路由器,w:route print L:route -n) |
数据传输:路由数据包 选择传递数据的最佳路径, 支持逻辑寻址和路径选择——数据包(packet) |
数据链路层data link (交换机、网卡) |
访问介质:格式化数据传输以及 控制对网络的访问(同一个网段); 支持数据检测——数据帧(frame) |
物理层physical (集线器hub) |
二进制传输——位(bit) |
all people seem to need data processing。
基带:数字信号
宽带:模拟信号
三种通讯模式:
单播:目标是一个主机
组播:目标是多个主机(不一定是全发)
广播:目标是多个主机
半双工:对讲机
单工:单向传输
全双工:双向传输
以太网桥的工作原理
bridge
网桥的端口可以隔断冲突域。看图1.
A和B,C和D可以同时传递数据。
switch
交换机—局域网
路由器(route)—广域网设备
分隔广播域;
选择路由表中最好的路径,看图;
维护和检查路由信息;
连接广域网。
;
vlan技术的实现:独自划立小端口,利用路由器功能独立分开,看图.
trunk协议
TCP/IP协议
应用层:
文件传输,email-远程协议,网络管理,域名管理。
传输层:UDP,TCP
多任务处理,分段,流控制,基于连接的,可靠性。
网络层:
网络访问层:
源端口和目标端口:16位,0-65535个。
常见的端口号:
80 http
443 https
53 dns
21 ftp
22 ssh
23 telnet
25 smtp
143 imap
110 pop
3306 mysql
1521 oracle
1433 sql server
IANA: 互联网数字分配机构(负责域名,数字资源,协议分配)
0-1023 :系统端口或特权端口( 仅管理员可用) ,众所周知,永久的分配给固定的系统应用使用,22/tcp(ssh), 80/tcp(http), 443/tcp(https)
1024-49151 :用户端口或注册端口,但要求并不严格,分配给程序注册为某应用使用,1433/tcp(SqlServer) ,1521/tcp(oracle),
3306/tcp(mysql),11211/tcp/udp (memcached)
49152-65535: : 动态端口或私有 端口,客户端程序随机使用的端口
其范围的定义:/proc/sys/net/ipv4/ip_local_port_range
URG :表示本报文段中发送的数据是否包含紧急数据。后面的紧急指针字段(urgent pointer )只有当URG=1 时才有效
ACK :表示是否前面的确认号字段是否有效。ACK=1 ,表示有效。只有当ACK=1时,前面的确认号字段才有效。TCP 规定,连接建立后,ACK 必须为1, 带ACK 标志的
TCP 报文段称为确认报文段
PSH :提示接收端应用程序应该立即从TCP 接收缓冲区中读走数据,为接收后续数据腾出空间。如果为1 ,则表示对方应当立即把数据提交给上层应用,而不是缓存
起来,如果应用程序不将接收到的数据读走,就会一直停留在TCP 接收缓冲区中
RST :如果收到一个RST=1 的报文,说明与主机的连接出现了严重错误(如主机崩溃),必须释放连接,然后再重新建立连接。或者说明上次发送给主机的数据有问
题,主机拒绝响应,带RST 标志的TCP 报文段称为复位报文段。
SYN:在建立连接时使用,用来同步序号。当SYN=1 ,ACK=0 时,表示这是一个请求建立连接的报文段;当SYN=1 ,ACK=1 时,表示对方同意建立连接。SYN=1
,说明这是一个请求建立连接或同意建立连接的报文。只有在前两次握手中SYN才置为1 ,带SYN 标志的TCP 报文段称为同步报文段。
FIN :表示通知对方本端要关闭连接了,标记数据是否发送完毕。如果FIN=1 ,即告诉对方:“我的数据已经发送完毕,你可以释放连接了”,带FIN 标志的TCP报 报
文段称为结束报文段。