网络编程学习笔记

1.应用程序之间的传输(网络通讯三要素:IP,端口,协议)

    1)找到IP

    2)数据要发送到指定的应用程序上。为了标识这些程序,比如,QQ发到QQ,而不是发到MSN。为了标识这些应用程序,所以给这些网络应用程序用数字进行标识,这个数字叫做“端口”。逻辑端口。web服务是80,tomcat默认是8080,mysql:3306。端口号都可以改。

    3)定义通讯规则。这个通讯规则称为协议,国际组织定义了通讯协议TCP/IP。

       比如玩CS游戏,自己用特有的协议,不用TCP/IP,则别人不能和我们联机,只有用相同协议的人才能联机。有些特殊的组织,为了安全起见,使用特定的协议进行内部通讯。

(程序之间之所以能通讯,就是因为遵循同一个通讯协议。好比中国人之间能交流,就是因为大家都说中文。)

2.网络模型

    1)左边是“OSI模型”,左边是“TCP/IP参考模型

应用层                          应用层
表示层
会话层
传输层(TCP/UDP)   传输层
网络层(IP)   网际层
数据链路层   主机至网络层
物理层  

    2)在这个OSI七层模型中,每一层都为其上一层提供服务、并为其上一层提供一个访问接口或界面。

      比如QQ发送信息,由上往下,应用层到物理层,叫数据封包

    2.1.应用层,对信息进行封装http,ftp是应用层协议(data

    2.2.在表示层对应用层传来的信息进行封装((data))

    2.3.在会话层也对传来的信息进行封装(((data)))

    2.4.在传输层对信息进行封装,常见的有TCP协议或者UDP协议((((data))))

    2.5.在网络层,封装上IP地址,也即确定数据要发送到哪里(IP)(((((data)))))

    2.6.数据链路层确定用什么底层传输协议发送出去((((((data))))))

    2.7.物理层,比如网线,光纤,无线。把上面封装的数据发送到对方的物理层。对方进行数据拆包(即由物理层到应用层)

    2.8.每一层进行拆包,并往上传。直到传到应用层,根据端口号,把数据发给相应的应用程序 网络编程“传输层”(TCP/UDP)和“网际层(IP)JAVA Web在应用层(HTTP,FTP)

                            

                  

 

你可能感兴趣的:(网络编程)