您的位置:首页 > 理论基础 > 计算机网络

网络编程预备知识

2018-01-16 17:50 218 查看
一、网络编程预备知识

1、****网络模型

OSI模型 7层:应用层 表示层 会话层、 传输层、网络层、数据链路层 物理层

TCP/IP 模型 4层: 应用层、传输层、网络层、物理层

应用层: 负责应用软件的应用协议(私有协议)

传输层: 负责数据在网络中按照某种协议进行传输

         tcp (transport control protocol)
传输控制协议,是一种面向连接的传输层协议
 特点:能够提供一种可靠的通信(保障数据完整、无误、数据无重复)
 正因为他能够提供一种可靠的连接:通信前就必须进行
 “三次握手”/"三路握手"
 三次握手(client server)
 1) C 发送一个请求连接  ACK=0, SYN=1
 2) S 接收到C的请求以后,进行回复确认  SYN=1, ACK=1
 3) C 接收到了 S 的确认,回复 S  ACK=1
 
 UDP (user datagram protocol) 用户数据报协议
 (类似于 写信 投递邮件)
 特点: 是不可靠的无连接的协议,无需三次握手
可以进行高效的大量的数据的传输

网络层:IP 协议,给每一台联网的主机一个         逻辑地址:192.168.1.110  (路由器工作在网络层)

物理层:数据链路层+物理层: 网卡驱动在数据链路层
物理层: 网卡 网线 同轴电缆 交换机

2、网络数据的发送

假如 client 想发送一个 hello 给服务端

应用层:发送hello 或者封装一个 私有协议 ##hello##

传输层: 根据具体的协议 再次进行封装

        假如是tcp发送: tcp协议头部 + hello

网络层: IP头部 + tcp协议头部 + hello

物理层: mac地址 + IP头部 + tcp协议头部 + hello

在网络中如何通过一个IP来获取mac地址呢?

ARP 协议

3、路由器的工作原理 

工作在网络层

路由表

分配IP地址

openWRT(开源的Linux操作系统)

4、交换机的工作原理

工作在物理层

数据转发, 信号放大

普通的网线最大传输距离是 100米

5、带宽

1s 能够传输的 bit 数

6、IP地址

TCPv4 TCPv6

192.168.1.100 点分十进制表示法

IPv4 地址长度 4 字节 32bit

IPv4的ip地址组成: 网络号 + 主机号 (电话号码 区号+座机号)

IP地址的分类:(5种)

A类 0 网络号(7位)  主机号(24位)

0.0.0.0 ~ 127.255.255.255

B类 10 网络号(14位) 主机号(16位)

128.0.0.0 ~ 191.255.255.255

C类 110 网络号(21位) 主机号(8位)

192.0.0.0 ~ 223.255.255.255

D类 1110 网络号(28位)  多播组号

E类 11110 (留着以后用)27位

7、子网掩码: 255.255.255.0

子网掩码的作用: 确定网络号和主机号在IP地址中占多个bit位

通过子网掩码 能够迅速判断IP地址是属于哪一类地址

8、端口号

一台设备有多个IP

IP地址是标识网络中的主机的,但是 每台主机可能会有多个网络应用程序的。

服务器中也有多个网络应用程序,如何实现指定的 client 和 server进行通信呢?

IP地址一样 MAC地址也一样 只能每一个应用程序 分配一个端口号,来标识特定的 网络应用程序
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  网络编程知识