Java網絡01基本網絡概念

協議 Protocol:明確規則

(1)地址格式;

(2)數據如何分包;

? ...


TCP/IP四層模型:

應用層 ?HTTP SMTP POP IMAP

傳輸層 ?TCP UDP

網際層 ?IP

主機網絡層 host to host layer 數模、模數轉換


被稱為網關(getway)的特殊設備可將信息從一種數據鏈路層(以太網)轉換為另一種數據鏈路層(令牌環)。


OSI七層模型

應用層

表示層

會話層

傳輸層

網際層

數據鏈路層 ?MAC地址 ?Media Access Control

物理層


硬件MAC地址

全球唯一,燒錄在網卡Network Interface Card ?NIC

48bit ?6字節

0~23 ?組織唯一標志符 ?Organizationally Unique Identifier,是識別LAN(局域網)節點的標識

24~47 ?由廠家自己分配

40位 ?組播地址標志位

在物理傳輸過程中,通過物理地址來識別主機。


網際層 ?network layer

IP協議是Java唯一理解的網絡層協議

數據位和字節如何組織為更大的分組——包。

不同計算機的尋址模式

包中通過網際層發送的數據稱為數據報(datagram)

IP數據報:

首部:20~60字節

有效載荷:65515字節?


首部必選20字節:




網絡字節序為big-endian。

big-endian:低位字節存于內存高地址

little-endian:低位字節存于內存低地址


傳輸層 ?transport layer

TCP ?Transmission Control Protocol ? ?reliable

UDP ?User Datagram Protocol ? ?unreliable

Java唯一支持的應用層協議:TCP UDP

可以在IP之上運行其他協議,如ICMP(Internet Control Message Protocol)

如Ping程序:使用原始IP數據報在主機之間傳遞錯誤消息。


應用層 application layer

HTTP ?HyperText Transfer Protocol

SMTP ?Simple Mail Transfer Protocol

POP ?Post Office Protocol

IMAP ?Internet Mail Aceess Protocol


IPv4 ?4字節 ?199.1.32.90

IPv6 ?16字節 ?

FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

FEDC:0000:0000:0000:00DC:0000:7076:0010 ? ?可簡寫為 ?FEDC::DC:0:7076:10

IPv4和IPv6混合網絡,IPv6最后4個字節有時寫為IPv4的點分四段(dot quad)地址。

FEDC:BA98:7654:3210:FEDC:BA98:7654:118.84.50.16


端口(port):

TCP ?1~65535

UDP 1~65535

1~1023已分配給已知的服務

在Linux中,/etc/services為端口分配列表


Internet ?世界上最大的基于IP的網絡

地址分類

A類 ?指定第一字節 ?18. ? ? ? ? ? ?>=1600萬個結點空間

B類 ?指定前兩字節 ?167.1. ? ? ? 65024個 ?256個C類*254個主機

C類 ?指定前三字節 ?199.1.32 ? ?254個 ?0和255為保留地址


無類別域間路 ?Classless Inter-Domain Routing ?CIDR

基于前綴位的尋址模式

/nn ?指定地址中前nn位固定

/24 ?前24位不變,留下后八位區別各個結點 ?與C類相同

/19 ?確定19位,留下13位區別各個結點,相當于32個C類或1/8個B類

/28 ?留下4位區別本地結點,最多可操作16個結點


特殊地址塊:

10.

172.16.~172.31.

192.168.

上述地址段未在Internet中分配,用于內部網絡,不能進入Internet。

127.?

本地回路 127.0.0.1 ?local lookback address ? localhost

IPv6回路 ::1 ? ? ?0:0:0:0:0:0:0:1

0.0.0.0 ?指向最初主機,用于源地址。


網絡地址轉換 ?NAT ?Network Address Translation

ISP提供的地址216.254.85.72

通過ISP賣給的路由器,可將內部的設備連入互聯網

內部設備在同一局域網中,192.168.254.xxx。

即將內部地址轉換為外部地址。


防火墻(firewall)

位于Internet和本地網絡之間,檢查所有進出的數據以保證其合法性的軟件和硬件。

防火墻通常是連接本地與更廣闊Internet的路由器的一部分,還可執行網絡地址轉換。

防火墻也可以是單獨的機器。

監視傳入或傳出其網絡接口的每個包,根據一些規則接收或拒絕這些包。


代理服務器(Proxy server)

如果防火墻阻止網絡主機與外界的直接連接,則代理服務器起到中間人的作用。

優勢:外部主機只能看到代理服務器,不會知道內部機器主機名和IP地址。

用途:

(1)監控內部訪問 ? ?代理客戶端

(2)實現本地緩存 ?local caching ?代理服務器端


可通過HTTP作為通道建立新的協議,如SOAP,Simple Object Access Protocol,簡單對象訪問協議。


客戶/服務器模型

文件服務器

數據庫服務器

應用程序服務器:對數據進行處理后,將結果發送給客戶端。


IETE ?Internet Engineering Task Force ?TCP/IP ?MIME ?SMTP

W3C ?World Wide Web Consortium ?HTTP ?HTML ?XML


HTML 稱為超文本標記語言的原因:它包括一種方法,可以指定到其它文檔(URL)的鏈接。


計算機網絡應用的是分組交換技術。--Internet

服務器端等待客戶請求的到來,這個過程為監聽。

服務器監聽功能是在特定的IP地址和端口上進行的。



本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387196.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387196.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387196.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

apache的產品分類說明

分類 項目名 說明 開發語言 服務器(共20) Apache HTTP Server全球第一HTTP服務器C/CTomcatJava的Web服務器JavaJames郵件服務器JavaSpamAssassin反垃圾郵件C/CPerlApache的Perl編程語言支持C/CTclTCL腳本語言C/CDirectory Server超級目錄服務器JavaAxisW…

Java網絡02基本Web概念

URI Uniform Resource Identifier 同一資源標識符 以特定語法標識一個資源的字符串 絕對URI:URI模式模式特有部分 scheme:scheme-specific-part scheme分為: data file本地文件系統 ftp http telnet urn 統一資源名 scheme-specific-part為&am…

解決自建ca認證后瀏覽器警告

前一篇講解了基本的建立證書的過程,但是建立后總是會在瀏覽器那里警告: 此鏈接不是私密鏈接 --谷歌瀏覽器 此證書頒發機構不可信 此證書不是這個網站的 --ie瀏覽器 總之證書是生成成功了,但是其中的內容填寫錯誤了&a…

設計模式學習(三)——單例模式

在Java開發過程中,很多場景下都會碰到或要用到單例模式,在設計模式里也是經常作為指導學習的熱門模式之一,相信每位開發童鞋都用到過。我們總是沿著前輩的足跡去做設定好的思路,往往沒去探究為何這么做,所以這篇文章對…

Java網絡03流

網絡程序所做的很大一部分工作只是輸入和輸出:從一個系統向另一個系統移動數據。 輸出流 Java的基本輸出流類是java.io.OutputStream: public abstract class OutputStream 這個類提供了寫入數據所需的基本方法,包括: public abstract vo…

基于微信小程序開發的仿微信demo

(本文參考自github/liujians,地址:https://github.com/liujians/weApp) 作者聲明: 基于微信小程序開發的仿微信demo 整合了ionic的樣式庫和weui的樣式庫 使用請查看使用必讀! 更新日志請點擊這里 目前功能 查看消息 網絡請求獲取數據(download示例server…

設計模式之六大原則

設計模式之設計原則 這軟件設計過程中,有六大設計原則: 單一職責原則里氏替換原則依賴倒置原則接口隔離原則迪米特法則開閉原則由于軟件開發過程中,根據業務不同等因素形成了各種復雜的而不可預料的需求,遵守原則,讓項…

安裝配置tengine

安裝tengine 1、依賴gcc openssl-devel pcre-devel zlib-devel 安裝:yum install gcc openssl-devel pcre-devel zlib-devel 2、解壓tengine壓縮包,并進入目錄; 3、./configure --prefix/usr/tengine 4、make && make install 5…

使用springboot集成jseesite

請訪問 開源中國下的https://git.oschina.net/wolfking/wolfking-jeesitehttps://www.oschina.net/p/wolfking-jeesite?fromerr6Iie3qZt 下載源碼,按照如下的運行使用 springboot 改造 jeesite,只保留最簡單的系統配置 。 介紹 1、運行主類,…

解決idea 中web項目無法正常顯示的問題

轉載于:https://www.cnblogs.com/nulijiushimeili/p/10575364.html

Hadoop小知識點

hdfs命令行 上傳 hadoop fs -put 文件名 hdfs://主機名:9000/... 下載 hadoop fs -get hdfs://主機名:9000/... 文件名 /hadoop/share/hadoop/mapreduce 文件夾下有測試程序 提交MapReduce任務命令 #hadoop jar hadoop-mapreduce-examples-2.4.1.jar pi 5 5 hadoop fs -m…

copy 擴展名 包含子文件夾 文件 到某個 文件夾

比如我在d:\fff下面有很多子文件夾,子文件夾里還有子文件夾,里面有些文件夾里有.ppm.bz2的后綴的文件,需要把他們找出來復制到d:\fff2里面,應該怎么用批處理寫?最佳答案1234echo offfor /r d:\fff %%a in (*.ppm.bz2) …

在線視頻常見加密方式及安全性透析

信息化時代,多媒體的應用日漸成為人們生活中不可或缺的部分,無論是獲取最新資訊還是教育學習,視頻都是直觀高效的媒介之一。 基于互聯網的快速傳播,眾多培訓機構也逐漸將線下原創版權課程遷移到在線平臺中,一方面可以更…

分享一個前后端分離的web項目(vue+spring boot)

Github地址:https://github.com/smallsnail-wh 前端項目名為wh-web后端項目名為wh-server項目展示地址為我的github pages(https://smallsnail-wh.github.io)用戶名:admin,密碼admin(第一次啟動會比較慢&am…

部署php項目到linux

服務器:39.106.26.67rootBayou2009 數據庫:rootbayou2009 項目文件夾路徑:/home/www/項目文件夾名稱:education.bayou-tech.cn 綁定域名:education.bayou-tech.cn 綁定域名: 用ftp把配置文件下班到windows修…

ionic最新安裝教程

公司最近開發webapp,研究了一下ionicangularjs開發。 安裝過程中碰到許多問題,發現網上有好多資料都已經過時,在這里把最新的流程記錄一下。 首先是安裝node.js,通過nodejs官網下載,沒什么問題。npm已經默認安裝&#…

ZooKeeper安裝配置

配置 1、在conf目錄下創建一個配置文件zoo.cfg tickTime2000 dataDir.../zookeeper/data dataLogDir.../zookeeper/dataLog clientPort2181 initLimit5 syncLimit2 server.1server1:2888:3888 server.2server2:2888:3888 server.3server3:2888:3888 ?tickTime&#…

1.1 算法編譯與調試

編程要保持簡單(KISS, keep it simple and stupid)。 算法競賽中的輸入輸出框架: 輸入數據保存在文件中,輸出數據也保存在文件中。 幾乎所有算法競賽的輸入數據和標準答案都是保存在文件中的。 使用文件最簡單的方法是使用輸入…

ionic2開發的仿外賣點餐系統(Ionic2+Angular2

github上的項目源碼 Run this Project(運行該項目) first(首先): make sure your computer install ionic 確保你的電腦安裝了ionic2,不懂自行百度 second(其次):$ ionic start wechat_restaurant tutorial…

Container Injection

Container的歷史: 2000 年的時候 FreeBSD 開發了一個類似于 chroot 的容器技術 Jails,這是最早期,也是功能最多的容器技術。Jails 英譯過來是監獄的意思,這個“監獄”(用沙盒更為準確)包含了文件系統、用戶…