Linux系统编程——tcp网络通信协议

网络编程 
open system interconnect
1、OSI 模型  ===》开放系统互联模型  ==》分为7层:
理想模型  ==》尚未实现
tftp 
b  /etc/passwd 
a /etc/123
应用层  
表示层  加密解密  gzip
会话层  网络断开,连接状态,keep-close keep-alive

传输层tcp  udp  协议  文件    视频,音频
网路层ip   NAT

链路层  交换机  数据的格式化  帧 校验
物理层         100Mb/8  Gbits   100MB 同轴电缆 10Gb    2.4G 5G

  TCP/IP模型  ==》网际互联模型   ==》分为4层:
   实用模型  ===》工业标准
   tcp/ip协议栈
应用层   ====》应用程序
传输层   ====》端口号tcp udp
网络层   ====》IP 地址
接口层   ====》网卡 驱动  1GB
pcap ,,,
2、TCP/IP协议族:
www.taobao.com ---> 192.168.0.19
www.voa.com   
dns 域名解析
DHCP
应用层: HTTP TFTP FTP SNMP DNS ...
传输层: TCP  UDP   56k猫
网络层: IP  ICMP(ping) RIP OSPF IGMP ...
物理层: ARP  RARP  ...   ip--->mac  
arp,,,,
192.160.0.112



========================================================



TCP编程基础知识:


1、网络基础 ===》A B C D E 类

010 3333344444
IP地址 == 网络位 + 主机位

IP地址的分类: 点分十进制   ipv4  712934
A类: 超大规模性网络
8 8 8 8
1.0.0.0 - 126.255.255.255  126.1.1.1 
126.1.1.2
255.0.0.0    
私有:
10.0.0.0 - 10.255.255.255
127.0.0.1
B类: 大中规模型网络
128.0.0.0 - 191.255.255.255
128.2.1.2  128.2.7.2
255.255.0.0
私有:
172.16.0.0 - 172.31.255.255

C类: 中小规模型网络
192.0.0.0 - 223.255.255.255
255.255.255.0
私有:
192.168.0.0 - 192.168.255.255
静态路由
192.168.0.0
192.168.0.1  网关
192.168.0.255 

D类: 组播和广播
224.0.0.0 - 239.255.255.255
192.168.0.255 ==  255.255.255.255
235.1.2.3
192.168.1.0 
192.168.0.1   网关
192.168.1.255 广播 

E类: 实验
240.0.0.0 - 255.255.255.255

   C 类网络:
    ip地址的前三组是网络地址,第四组是主机地址。
二进制的最高位必须是: 110xxxxx开头
十进制表示范围: 192.0.0.0 -223.255.255.255
默认网络掩码:   255.255.255.0
网络个数: 2^24 个 约 209 万个
主机个数: 2^8  个 254 个+2 ===》1 是网关 1是广播
私有地址: 192.168.x.x 局域网地址。
  
  sudo vim  /etc/network/interfaces 
  sudo /etc/init.d/networking restart      
  sudo reboot
192.168.0.0
192.168.0.1  route 
192.168.0.255 boardcast
801.n.g 
单机上网的配置:
1、有网络接口并插入网线。
2、有ip地址
3、配置网络设置
ip: ifconfig ethX X.X.X.X/24 up  ifconfig ens33 192.168.0.13/24 up  255.255.255.0
网关: route add default gw x.x.x.x 
DNS:  vi /etc/resolv.conf  ==>nameserver 8.8.8.8
测试:ping www.baidu.com  

netstat  -anp

2、网络接口
1、socket  套接字 ==》BSD socket ==》用于网络通信的一组接口函数。socket api  application interface
2、ip+port 地址+端口===》地址用来识别主机
     端口用来识别应用程序

  port分为TCP port /

你可能感兴趣的:(linux,tcp/ip,网络)