Linux网络编程——网络基础

网络基础

课程
网络编程三要素:IP,端口,协议。

1.IP:在Internet上,每一台通信实体(这个通信实体可以是路由器的某一端口,计算机和服务器等设备)都有唯一表示的IP地址,之前都是IPv4的但在2011年已经用尽,现在正向IPv6时代迈进

2.端口:在设备上的唯一标识,范围在0–65535之间,编写网络应用就需要绑定一个端口号,尽量使用1024以上的,1024以下的基本上都被系统程序占用了。

3.协议:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。

协议的概念

协议:一组规则,是数据传输和数据的解释的规则

假设,A,B双方想要传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方
第二次,发送文件的尺寸,接受方收到数据再次应答一个OK
第三次,传输文件内容,同样,还是上述操作表示文件内容接受成功

TCP协议注重数据的传输,http协议着重于数据的解释
常见的协议:
传输层:TCP/UDP协议
应用层:HTTP,FTP
网络层:IP,ICMP,IGMP
网络接口层:以太网帧协议,ARP,RARP
在这里插入图片描述

分层模型

分层模型结构:
OSI七层模型:物,数,网,传,会,表,应
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP 4层:网,网,传,应
前两个是网络接口层(链路层),网络层,传输层,后三个是应用层

通信过程

网络传输流程:数据没有封装之前,是不能在网络中传递的

在这里插入图片描述
数据->应用层->传输层->网络层->链路层 -----网络环境

协议格式

1.数据包封装

在这里插入图片描述
2.以太网帧协议:
APR协议:根据IP地址获取mac地址
以太网帧协议:根据mac地址,完成数据包传输

3.IP协议:
版本:IPv4 IPv6
TTL: time to live 。 设置数据包在路由节点中的跳转上限。每经过一个路由节点,该值-1, 减为0的路由,有义务将该数据包丢弃
源IP:32位 — 4字节 192.168.1.108 一个字节.一个字节.一个字节.一个字节 ---- 点分十进制 IP地址—二进制
目的IP:32位 —4字节
4.端口号和UDP协议
UDP:
16位:源端口号。2^16=65536
16位:目的端口号

IP地址:可以在网络中,唯一标识一台主机

端口号:可以在网络的一台主机上,唯一标识一个进程

IP地址+端口号:可以在网络环境中,唯一标识一个进程

5.TCP协议
16位:源端口号。 2^16 = 65536
16位:目的端口号。
32位序号
32位确认序号
6个标志位
16位窗口大小 2^16 = 65536

C/S模型和B/S模型对比

client-server客户端服务器模型
browser-server浏览器服务器模型

C/S
优点: 缓存大量数据、协议选择灵活,速度快,应用程序迭代和更新更方便
例如王者荣耀里面有大量的图片和特效等,这种东西在程序启动前加载到内存到中
缺点:安全性、跨平台、开发工作量较大
B/S
**优点:**安全性、跨平台、开发工作量较小
**缺点:**并不能缓存大量数据,严格遵守 http协议

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值