C/S架构client客户端、server服务端
B/S架构browser浏览器、server服务端
Mac地址48位2进制,12位16进制,前6厂家、后6流水号
4个8位二进制构成IP地址,0.0.0.0-255.255.255.255
通过ip找到Mac地址
局域网中机器,访问外界通过网关访问
端口,每个需要网络通讯的程序,都会开一个端口,端口范围0-65535
同一时间,一个程序占用一个端口
ip:port 唯一机器上的唯一程序
127.0.0.1本地环回
TCP–全双工的通信协议
一旦连接建立起来,那么连接两端的机器能够随意互相通信
面向连接的通信方式数据安全、不容易丢失
建立连接的 三次握手 1能链接吗、能 2能连接你不、能
断开连接的 四次挥手 1咋们断开、断、2咋们断开、断
为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的连接请求后,它可以把ACK和SYN(ACK起应答作用,而SYN起同步作用)放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,它仅仅表示对方没有数据发送给你了;肯你还有数据需要发送给对方,所以你不一定马上关闭SOCKET,可能还需要数据发送完后,再发送FIN报文给对方来表示关闭连接了,所以关闭连接的ACK报文和FIN报文多数情况下都是分开发送的
面向连接 可靠的 字节流传输 长连接
面向数据包的 无连接的 不可靠的 速度快 不占用连接
应用层 HTTP
传输层 TCP、UDP协议 四层交换机、四层路由器
网络层 IP协议 路由器、三层交换机
数据链路层 ARP协议 网桥、以太网交换机、网卡
物理层 中继器、集线器
由来:计算机和计算机之间要想通信,就必须接入internet,言外之意就是计算机之间必须完成组网。
功能:主要基于电器特性发送高低电压,高电压对应数字1,低电压对应数字0(提供电信号)
1由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位
2功能:定义了电信号的分组方式
3以太网协议ethernet:早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
4以太网协议ethernet规定:
一组电信号构成一个数据包,叫做“帧”
每一数据帧分成:报头head和数据data两部分
head包含:发送者/源地址,6个字节
接受者/目标地址,6个字节
数据类型:6个字节
data包含:数据包的具体内容(最短64字节,最长1500字节)
5mac地址:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。
6广播:有了mac地址,同一网络内的两台机器就可以通信了(一台主机通过arpmac协议获取另外一台主机的mac地址)
1.由来:有了ethernet,mac地址,广播的发送方式,计算机与计算机之间就可以通信了,问题是世界范围的互联网由一个个彼此隔离的小的局域网组成的,那么发送一条消息全世界都能收到,这样会导致效率很低了。所以,必须找到一种方法来区分计算机是在局域网还是不在局域网里。如果在同一个局域网里,就采用广播的方式发送,如果不是,就采用路由的方式。
2.功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。
3.IP地址:规定网络地址的协议叫ip地址,广泛采用V4版本即ipv4,它规定网络地址由32位二进制表示
范围:0.0.0.0-255.255.255.255
一个ip地址通常写成四段十进制数,例:172.16.10.1
4.子网掩码:所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。
知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。
5.arp协议:就是讲IP地址解析成mac地址。、
1.由来:我们通过ip地址和mac地址找到了一台特定的主机,如何标识这台主机上的应用程序,答案就是端口。端口即应用程序与网卡关联的编号。
2.功能:建立端口到端口的通信。
3.TCP:通过双向链接,客户端向服务端发送消息后,等待服务端回复消息后才算发送成功。缺点:速度慢;优点:可靠(可靠在对方要回应一个包确保发送成功)
4.UDP: 没有链接,直接发送。 缺点:不可靠;优点:速度快
由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式
功能:规定应用程序的数据格式。
1、发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合到一起,产生粘包)
2、接收方不及时接收缓冲区的包,造成多个包接收(客户端发送了一段数据,服务端只收了一小部分,服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包)